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::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) -> Retwhere
MapF: FnOnce(&R) -> Ret,
pub fn map_registry_for_tests<MapF, Ret>(&self, map: MapF) -> Retwhere
MapF: FnOnce(&R) -> 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.
sourcepub fn subscribe<K>(&self, subs_key: K) -> Receiver<M, R>where
R: Subscribe<K> + Unsubscribe,
pub fn subscribe<K>(&self, subs_key: K) -> Receiver<M, R>where
R: Subscribe<K> + Unsubscribe,
Subscribe to this Hub using the subs_key: K
.
A subscription with a key K
is possible if the Registry implements Subscribe<K>
.