pub struct WeakDispatcher(/* private fields */);Expand description
An unowned but reference counted reference to a dispatcher. This would usually come from
an AutoReleaseDispatcher or from an existing Arc or Weak reference to a dispatcher.
The advantage to using this instead of using Weak directly is that it controls the lifetime
of any given strong reference to the dispatcher, since the only way to access that strong
reference is through OnDispatcher::on_dispatcher. This makes it much easier to be sure
that you aren’t leaving any dangling strong references to the dispatcher object around.
Trait Implementations§
Source§impl Clone for WeakDispatcher
impl Clone for WeakDispatcher
Source§fn clone(&self) -> WeakDispatcher
fn clone(&self) -> WeakDispatcher
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WeakDispatcher
impl Debug for WeakDispatcher
Source§impl From<&Arc<Dispatcher>> for WeakDispatcher
impl From<&Arc<Dispatcher>> for WeakDispatcher
Source§fn from(value: &Arc<Dispatcher>) -> Self
fn from(value: &Arc<Dispatcher>) -> Self
Converts to this type from the input type.
Source§impl From<&AutoReleaseDispatcher> for WeakDispatcher
impl From<&AutoReleaseDispatcher> for WeakDispatcher
Source§fn from(value: &AutoReleaseDispatcher) -> Self
fn from(value: &AutoReleaseDispatcher) -> Self
Converts to this type from the input type.
Source§impl From<Weak<Dispatcher>> for WeakDispatcher
impl From<Weak<Dispatcher>> for WeakDispatcher
Source§fn from(value: Weak<Dispatcher>) -> Self
fn from(value: Weak<Dispatcher>) -> Self
Converts to this type from the input type.
Source§impl OnDispatcher for WeakDispatcher
impl OnDispatcher for WeakDispatcher
Source§fn on_dispatcher<R>(
&self,
f: impl FnOnce(Option<AsyncDispatcherRef<'_>>) -> R,
) -> R
fn on_dispatcher<R>( &self, f: impl FnOnce(Option<AsyncDispatcherRef<'_>>) -> R, ) -> R
Runs the function
f with a lifetime-bound AsyncDispatcherRef for this object’s dispatcher.
If the dispatcher is no longer valid, the callback will be given None.Source§fn on_maybe_dispatcher<R, E>(
&self,
f: impl FnOnce(AsyncDispatcherRef<'_>) -> Result<R, E>,
) -> Result<R, E>where
E: From<Status>,
fn on_maybe_dispatcher<R, E>(
&self,
f: impl FnOnce(AsyncDispatcherRef<'_>) -> Result<R, E>,
) -> Result<R, E>where
E: From<Status>,
Helper version of
OnDispatcher::on_dispatcher that translates an invalidated dispatcher
handle into a [Status::BAD_STATE] error instead of giving the callback None.Source§fn spawn_task(
&self,
future: impl Future<Output = ()> + Send + 'static,
) -> Result<(), Status>where
Self: 'static,
fn spawn_task(
&self,
future: impl Future<Output = ()> + Send + 'static,
) -> Result<(), Status>where
Self: 'static,
Spawn an asynchronous task on this dispatcher. If this returns
Ok then the task
has successfully been scheduled and will run or be cancelled and dropped when the dispatcher
shuts down.Source§fn after_deadline(
&self,
deadline: Instant<MonotonicTimeline>,
) -> AfterDeadline<Self> ⓘ
fn after_deadline( &self, deadline: Instant<MonotonicTimeline>, ) -> AfterDeadline<Self> ⓘ
Returns a future that will fire when after the given deadline time. Read more
Auto Trait Implementations§
impl Freeze for WeakDispatcher
impl RefUnwindSafe for WeakDispatcher
impl Send for WeakDispatcher
impl Sync for WeakDispatcher
impl Unpin for WeakDispatcher
impl UnwindSafe for WeakDispatcher
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