pub struct SendRawMessageLikeEvent<'a> { /* private fields */ }Expand description
Future returned by Room::send_raw.
Implementations§
Source§impl<'a> SendRawMessageLikeEvent<'a>
impl<'a> SendRawMessageLikeEvent<'a>
Sourcepub fn with_sticky_duration(self, duration: Duration) -> Self
Available on crate feature unstable-msc4354 only.
pub fn with_sticky_duration(self, duration: Duration) -> Self
unstable-msc4354 only.Make this event sticky for duration, clamped to one hour.
Note that if the homeserver doesn’t support sticky events, it will
ignore the duration and send the event unsticky. Server support can
be checked with Client::supports_sticky_events.
Sourcepub fn with_transaction_id(self, txn_id: &TransactionId) -> Self
pub fn with_transaction_id(self, txn_id: &TransactionId) -> Self
Set a transaction ID for this event.
Since sending message-like events always requires a transaction ID, one is generated if this method is not called.
- On the sending side, this field is used for re-trying earlier failed transactions. Subsequent messages must never re-use an earlier transaction ID.
- On the receiving side, the field is used for recognizing our own
messages when they arrive down the sync: the server includes the ID in
the [
MessageLikeUnsigned] fieldtransaction_idof the corresponding [SyncMessageLikeEvent], but only for the sending device. Other devices will not see it. This is then used to ignore events sent by our own device and/or to implement local echo.
Sourcepub fn with_request_config(self, request_config: RequestConfig) -> Self
pub fn with_request_config(self, request_config: RequestConfig) -> Self
Assign a given RequestConfig to configure how this request should
behave with respect to the network.
Sourcepub fn into_delayed(self, delay: Duration) -> SendDelayedRawMessageLikeEvent<'a>
pub fn into_delayed(self, delay: Duration) -> SendDelayedRawMessageLikeEvent<'a>
Send the event as a delayed event (MSC4140) instead of sending it right away.
The homeserver holds on to the event and only distributes it to the room
once delay elapses. Until then the event can be cancelled, restarted
or sent immediately with Client::update_delayed_event, using the
delay_id from the response.
The event is prepared exactly like an immediate one: in particular it is encrypted if the room is encrypted. Note that this happens when the event is scheduled: the room key is shared with the members of the room at that point, so a member joining before the delay elapses won’t be able to decrypt the event, and restarting the delay does not re-encrypt it.
A sticky duration set beforehand with with_sticky_duration
(MSC4354) is kept: the event becomes sticky once the homeserver sends
it.
Trait Implementations§
Source§impl<'a> IntoFuture for SendRawMessageLikeEvent<'a>
impl<'a> IntoFuture for SendRawMessageLikeEvent<'a>
Source§type Output = Result<SendMessageLikeEventResult, Error>
type Output = Result<SendMessageLikeEventResult, Error>
Source§type IntoFuture = Pin<Box<dyn Future<Output = <SendRawMessageLikeEvent<'a> as IntoFuture>::Output> + Send + 'a>>
type IntoFuture = Pin<Box<dyn Future<Output = <SendRawMessageLikeEvent<'a> as IntoFuture>::Output> + Send + 'a>>
Source§fn into_future(self) -> Self::IntoFuture
fn into_future(self) -> Self::IntoFuture
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for SendRawMessageLikeEvent<'a>
impl<'a> !UnwindSafe for SendRawMessageLikeEvent<'a>
impl<'a> Freeze for SendRawMessageLikeEvent<'a>
impl<'a> Send for SendRawMessageLikeEvent<'a>
impl<'a> Sync for SendRawMessageLikeEvent<'a>
impl<'a> Unpin for SendRawMessageLikeEvent<'a>
impl<'a> UnsafeUnpin for SendRawMessageLikeEvent<'a>
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> CancellableIntoFutureExt for Twhere
T: IntoFuture,
impl<T> CancellableIntoFutureExt for Twhere
T: IntoFuture,
Source§fn cancellable<'a>(self) -> Cancellable<'a, Self::Output> ⓘwhere
Self::IntoFuture: SendOutsideWasm + 'a,
fn cancellable<'a>(self) -> Cancellable<'a, Self::Output> ⓘwhere
Self::IntoFuture: SendOutsideWasm + 'a,
Cancellable, which resolves to Some with the
output of this future if it completes first, or to None if it is
cancelled first.impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> Fruit 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,
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> 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