pub struct Hub<M, R> { /* private fields */ }Expand description
A subscription hub.
Does the subscription and dispatch.
The exact subscription and routing behaviour is to be implemented by the Registry (of type R).
The Hub under the hood uses the channel defined in crate::utils::mpsc module.
Implementations§
Source§impl<M, R> Hub<M, R>where
R: Unsubscribe,
impl<M, R> Hub<M, R>where
R: Unsubscribe,
Sourcepub fn map_registry_for_tests<MapF, Ret>(&self, map: MapF) -> Ret
pub fn map_registry_for_tests<MapF, Ret>(&self, map: MapF) -> Ret
Provide access to the registry (for test purposes).
Source§impl<M, R> Hub<M, R>
impl<M, R> Hub<M, R>
Sourcepub fn new(tracing_key: &'static str) -> Selfwhere
R: Default,
pub fn new(tracing_key: &'static str) -> Selfwhere
R: Default,
Create a new instance of Hub (with default value for the Registry).
Sourcepub fn new_with_registry(tracing_key: &'static str, registry: R) -> Self
pub fn new_with_registry(tracing_key: &'static str, registry: R) -> Self
Create a new instance of Hub over the initialized Registry.
Trait Implementations§
Auto Trait Implementations§
impl<M, R> Freeze for Hub<M, R>
impl<M, R> !RefUnwindSafe for Hub<M, R>
impl<M, R> Send for Hub<M, R>
impl<M, R> Sync for Hub<M, R>
impl<M, R> Unpin for Hub<M, R>
impl<M, R> UnsafeUnpin for Hub<M, R>
impl<M, R> !UnwindSafe for Hub<M, R>
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> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.