pub struct SendQueue { /* private fields */ }
Expand description
A client-wide send queue, for all the rooms known by a client.
Implementations§
Source§impl SendQueue
impl SendQueue
Sourcepub async fn respawn_tasks_for_rooms_with_unsent_requests(&self)
pub async fn respawn_tasks_for_rooms_with_unsent_requests(&self)
Reload all the rooms which had unsent requests, and respawn tasks for those rooms.
Sourcepub async fn set_enabled(&self, enabled: bool)
pub async fn set_enabled(&self, enabled: bool)
Enable or disable the send queue for the entire client, i.e. all rooms.
If we’re disabling the queue, and requests were being sent, they’re not aborted, and will continue until a status resolves (error responses will keep the events in the buffer of events to send later). The disablement will happen before the next request is sent.
This may wake up background tasks and resume sending of requests in the background.
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Returns whether the send queue is enabled, at a client-wide granularity.
Sourcepub fn enable_upload_progress(&self, enabled: bool)
pub fn enable_upload_progress(&self, enabled: bool)
Enable or disable progress reporting for media uploads.
Sourcepub fn subscribe(&self) -> Receiver<SendQueueUpdate>
pub fn subscribe(&self) -> Receiver<SendQueueUpdate>
Subscribe to all updates for all rooms.
Use RoomSendQueue::subscribe
to subscribe to update for a specific
room.
Sourcepub fn subscribe_errors(&self) -> Receiver<SendQueueRoomError>
pub fn subscribe_errors(&self) -> Receiver<SendQueueRoomError>
A subscriber to the enablement status (enabled or disabled) of the send queue, along with useful errors.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SendQueue
impl !RefUnwindSafe for SendQueue
impl Send for SendQueue
impl Sync for SendQueue
impl Unpin for SendQueue
impl !UnwindSafe for SendQueue
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
§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§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
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