#[non_exhaustive]pub struct Request {
    pub event_type: ToDeviceEventType,
    pub txn_id: OwnedTransactionId,
    pub messages: BTreeMap<OwnedUserId, BTreeMap<DeviceIdOrAllDevices, Raw<AnyToDeviceEventContent>>>,
}Available on crate feature 
api and (crate features client-api-c or client-api-s) only.Expand description
Request type for the send_event_to_device endpoint.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.event_type: ToDeviceEventTypeType of event being sent to each device.
txn_id: OwnedTransactionIdThe transaction ID for this event.
Clients should generate a unique ID across requests within the same session. A session is identified by an access token, and persists when the access token is refreshed.
It will be used by the server to ensure idempotency of requests.
messages: BTreeMap<OwnedUserId, BTreeMap<DeviceIdOrAllDevices, Raw<AnyToDeviceEventContent>>>Messages to send.
Different message events can be sent to different devices in the same request, but all events within one request must be of the same type.
Implementations§
Source§impl Request
 
impl Request
Sourcepub fn new_raw(
    event_type: ToDeviceEventType,
    txn_id: OwnedTransactionId,
    messages: BTreeMap<OwnedUserId, BTreeMap<DeviceIdOrAllDevices, Raw<AnyToDeviceEventContent>>>,
) -> Request
 
pub fn new_raw( event_type: ToDeviceEventType, txn_id: OwnedTransactionId, messages: BTreeMap<OwnedUserId, BTreeMap<DeviceIdOrAllDevices, Raw<AnyToDeviceEventContent>>>, ) -> Request
Creates a new Request with the given event type, transaction ID and raw messages.
Trait Implementations§
Source§impl IncomingRequest for Request
 
impl IncomingRequest for Request
Source§type EndpointError = Error
 
type EndpointError = Error
A type capturing the error conditions that can be returned in the response.
Source§type OutgoingResponse = Response
 
type OutgoingResponse = Response
Response type to return when the request is successful.
Source§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>
Tries to turn the given 
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>
Check whether the given HTTP method from an incoming request is compatible with the expected
METHOD of this endpoint.Source§impl Metadata for Request
 
impl Metadata for Request
Source§const METHOD: Method = ::ruma_common::exports::http::Method::PUT
 
const METHOD: Method = ::ruma_common::exports::http::Method::PUT
The HTTP method used by this endpoint.
Source§const RATE_LIMITED: bool = false
 
const RATE_LIMITED: bool = false
Whether or not this endpoint is rate limited by the server.
Source§const PATH_BUILDER: VersionHistory
 
const PATH_BUILDER: VersionHistory
All info pertaining to an endpoint’s path.
Source§type Authentication = AccessToken
 
type Authentication = AccessToken
What authentication scheme the server uses for this endpoint.
Source§type PathBuilder = VersionHistory
 
type PathBuilder = VersionHistory
The type used to build an endpoint’s path.
Source§fn empty_request_body<B>() -> B
 
fn empty_request_body<B>() -> B
Returns an empty request body for this Matrix request. Read more
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>
Generate the endpoint URL for this endpoint.
Source§impl OutgoingRequest for Request
 
impl OutgoingRequest for Request
Source§type EndpointError = Error
 
type EndpointError = Error
A type capturing the expected error conditions the server can return.
Source§type IncomingResponse = Response
 
type IncomingResponse = Response
Response type returned when the request is successful.
Source§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>
Tries to convert this request into an 
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
Mutably borrows from an owned value. Read more
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>
Tries to convert this request into an 
http::Request and adds the given
AppserviceUserIdentity to it, if the identity is not empty.