Struct Request
#[non_exhaustive]pub struct Request {
pub pos: Option<String>,
pub conn_id: Option<String>,
pub txn_id: Option<String>,
pub timeout: Option<Duration>,
pub set_presence: PresenceState,
pub lists: BTreeMap<String, List>,
pub room_subscriptions: BTreeMap<OwnedRoomId, RoomSubscription>,
pub extensions: Extensions,
}Expand description
Request type for the /sync endpoint.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pos: Option<String>A point in time to continue a sync from.
This is an opaque value taken from the pos field of a previous /sync
response. A None value asks the server to start a new session (mind
it can be costly)
conn_id: Option<String>A unique string identifier for this connection to the server.
If this is missing, only one sliding sync connection can be made to the server at any one time. Clients need to set this to allow more than one connection concurrently, so the server can distinguish between connections. This must be provided with every request, if your client needs more than one concurrent connection.
Limitation: it must not contain more than 16 chars, due to it being required with every request.
txn_id: Option<String>Allows clients to know what request params reached the server,
functionally similar to txn IDs on /send for events.
timeout: Option<Duration>The maximum time to poll before responding to this request.
None means no timeout, so virtually an infinite wait from the server.
set_presence: PresenceStateControls whether the client is automatically marked as online by polling this API.
Defaults to PresenceState::Online.
lists: BTreeMap<String, List>Lists of rooms we are interested by, represented by ranges.
room_subscriptions: BTreeMap<OwnedRoomId, RoomSubscription>Specific rooms we are interested by.
It is useful to receive updates from rooms that are possibly
out-of-range of all the lists (see Self::lists).
extensions: ExtensionsExtensions.
Implementations§
Trait Implementations§
Source§impl From<&Request> for RequestedRequiredStates
impl From<&Request> for RequestedRequiredStates
Source§fn from(request: &Request) -> RequestedRequiredStates
fn from(request: &Request) -> RequestedRequiredStates
§impl IncomingRequest for Request
impl IncomingRequest for Request
§type EndpointError = Error
type EndpointError = Error
§type OutgoingResponse = Response
type OutgoingResponse = Response
§fn try_from_http_request<B, S>(
request: Request<B>,
path_args: &[S],
) -> Result<Request, FromHttpRequestError>
fn try_from_http_request<B, S>( request: Request<B>, path_args: &[S], ) -> Result<Request, FromHttpRequestError>
http::Request into this request type,
together with the corresponding path arguments. Read more§fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
METHOD of this endpoint.§impl Metadata for Request
impl Metadata for Request
§const METHOD: Method = ::ruma_common::exports::http::Method::POST
const METHOD: Method = ::ruma_common::exports::http::Method::POST
§const RATE_LIMITED: bool = false
const RATE_LIMITED: bool = false
§const PATH_BUILDER: VersionHistory
const PATH_BUILDER: VersionHistory
§type Authentication = AccessToken
type Authentication = AccessToken
§type PathBuilder = VersionHistory
type PathBuilder = VersionHistory
§fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
§fn make_endpoint_url(
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
base_url: &str,
path_args: &[&dyn Display],
query_string: &str,
) -> Result<String, IntoHttpError>
fn make_endpoint_url( path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, base_url: &str, path_args: &[&dyn Display], query_string: &str, ) -> Result<String, IntoHttpError>
§impl OutgoingRequest for Request
impl OutgoingRequest for Request
§type EndpointError = Error
type EndpointError = Error
§type IncomingResponse = Response
type IncomingResponse = Response
§fn try_into_http_request<T>(
self,
base_url: &str,
authentication_input: <<Request as Metadata>::Authentication as AuthScheme>::Input<'_>,
path_builder_input: <<Request as Metadata>::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T>( self, base_url: &str, authentication_input: <<Request as Metadata>::Authentication as AuthScheme>::Input<'_>, path_builder_input: <<Request as Metadata>::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
http::Request. Read moreAuto Trait Implementations§
impl Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnwindSafe for Request
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
§fn try_into_http_request_with_identity<T>(
self,
base_url: &str,
access_token: SendAccessToken<'_>,
identity: AppserviceUserIdentity<'_>,
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request_with_identity<T>( self, base_url: &str, access_token: SendAccessToken<'_>, identity: AppserviceUserIdentity<'_>, path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
http::Request and adds the given
AppserviceUserIdentity to it, if the identity is not empty.