Struct kitsune_p2p_types::tx2::tx2_utils::Active
source · 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§
source§impl 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§
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> 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> 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>
§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 more§fn 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.