pub struct Active(_);
Expand description
Active tracking helper for related items. This facilitates e.g. an endpoint with sub connections. The endpoint can close, closing all connections. Or, individual connections can close, without closing the endpoint.
Implementations
sourceimpl Active
impl Active
sourcepub fn mix(&self, oth: &Self) -> Self
pub fn mix(&self, oth: &Self) -> Self
Mix two active trackers to gether. The result will be inactive if either parent is inactive.
sourcepub fn register_kill_cb<F>(&self, cb: F)where
F: Fn() + 'static + Send + Sync,
pub fn register_kill_cb<F>(&self, cb: F)where
F: Fn() + 'static + Send + Sync,
Register a callback to be invoked on kill. Beware the cb may be invoked multiple times if this Active is mixed.
sourcepub fn is_active(&self) -> bool
pub fn is_active(&self) -> bool
If any of the mixed trackers in this instance are not active, this fn will return false.
sourcepub fn fut<'a, 'b, R, F>(
&'a self,
f: F
) -> impl Future<Output = KitsuneResult<R>> + 'b + Sendwhere
R: 'static + Send,
F: Future<Output = KitsuneResult<R>> + 'b + Send,
pub fn fut<'a, 'b, R, F>(
&'a self,
f: F
) -> impl Future<Output = KitsuneResult<R>> + 'b + Sendwhere
R: 'static + Send,
F: Future<Output = KitsuneResult<R>> + 'b + Send,
Wrap a future such that if any of the sub-trackers within this active tracker instance become inactive before the future resolve, resolve with a Err::Closed result.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Active
impl Send for Active
impl Sync for Active
impl Unpin for Active
impl !UnwindSafe for Active
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.