#[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,
}client or server) and crate feature unstable-msc4186 only.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 IncomingRequest for Request
Available on crate feature server only.
impl IncomingRequest for Request
server only.Source§type EndpointError = Error
type EndpointError = Error
Source§type OutgoingResponse = Response
type OutgoingResponse = Response
Source§fn try_from_http_request<B, S>(
request: Request<B>,
path_args: &[S],
) -> Result<Self, FromHttpRequestError>
fn try_from_http_request<B, S>( request: Request<B>, path_args: &[S], ) -> Result<Self, FromHttpRequestError>
http::Request into this request type,
together with the corresponding path arguments. Read moreSource§fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
METHOD of this endpoint.Source§impl Metadata for Request
impl Metadata for Request
Source§const METHOD: Method = ::ruma_common::exports::http::Method::POST
const METHOD: Method = ::ruma_common::exports::http::Method::POST
Source§const RATE_LIMITED: bool = false
const RATE_LIMITED: bool = false
Source§const PATH_BUILDER: VersionHistory
const PATH_BUILDER: VersionHistory
Source§type Authentication = AccessToken
type Authentication = AccessToken
Source§type PathBuilder = VersionHistory
type PathBuilder = VersionHistory
Source§fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
Source§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>
Source§impl OutgoingRequest for Request
Available on crate feature client only.
impl OutgoingRequest for Request
client only.Source§type EndpointError = Error
type EndpointError = Error
Source§type IncomingResponse = Response
type IncomingResponse = Response
Source§fn try_into_http_request<T: Default + BufMut + AsRef<[u8]>>(
self,
base_url: &str,
authentication_input: <<Self as Metadata>::Authentication as AuthScheme>::Input<'_>,
path_builder_input: <<Self as Metadata>::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T: Default + BufMut + AsRef<[u8]>>( self, base_url: &str, authentication_input: <<Self as Metadata>::Authentication as AuthScheme>::Input<'_>, path_builder_input: <<Self 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,
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§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>>,
Source§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.