Struct jsonrpc_pubsub::manager::SubscriptionManager
source · [−]pub struct SubscriptionManager<I: IdProvider = RandomStringIdProvider> { /* private fields */ }
Expand description
Subscriptions manager.
Takes care of assigning unique subscription ids and driving the sinks into completion.
Implementations
sourceimpl SubscriptionManager
impl SubscriptionManager
sourcepub fn new(executor: TaskExecutor) -> Self
pub fn new(executor: TaskExecutor) -> Self
Creates a new SubscriptionManager.
Uses RandomStringIdProvider
as the ID provider.
sourceimpl<I: IdProvider> SubscriptionManager<I>
impl<I: IdProvider> SubscriptionManager<I>
sourcepub fn with_id_provider(id_provider: I, executor: TaskExecutor) -> Self
pub fn with_id_provider(id_provider: I, executor: TaskExecutor) -> Self
Creates a new SubscriptionManager with the specified ID provider.
sourcepub fn executor(&self) -> &TaskExecutor
pub fn executor(&self) -> &TaskExecutor
Borrows the internal task executor.
This can be used to spawn additional tasks on the underlying event loop.
sourcepub fn add<T, E, G, R, F>(
&self,
subscriber: Subscriber<T, E>,
into_future: G
) -> SubscriptionId where
G: FnOnce(Sink<T, E>) -> R,
R: IntoFuture<Future = F, Item = (), Error = ()>,
F: Future<Item = (), Error = ()> + Send + 'static,
pub fn add<T, E, G, R, F>(
&self,
subscriber: Subscriber<T, E>,
into_future: G
) -> SubscriptionId where
G: FnOnce(Sink<T, E>) -> R,
R: IntoFuture<Future = F, Item = (), Error = ()>,
F: Future<Item = (), Error = ()> + Send + 'static,
Creates new subscription for given subscriber.
Second parameter is a function that converts Subscriber Sink into a Future. This future will be driven to completion by the underlying event loop
sourcepub fn cancel(&self, id: SubscriptionId) -> bool
pub fn cancel(&self, id: SubscriptionId) -> bool
Cancel subscription.
Returns true if subscription existed or false otherwise.
sourceimpl<I: Default + IdProvider> SubscriptionManager<I>
impl<I: Default + IdProvider> SubscriptionManager<I>
sourcepub fn with_executor(executor: TaskExecutor) -> Self
pub fn with_executor(executor: TaskExecutor) -> Self
Creates a new SubscriptionManager.
Trait Implementations
sourceimpl<I: Clone + IdProvider> Clone for SubscriptionManager<I>
impl<I: Clone + IdProvider> Clone for SubscriptionManager<I>
sourcefn clone(&self) -> SubscriptionManager<I>
fn clone(&self) -> SubscriptionManager<I>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl<I = RandomStringIdProvider> !RefUnwindSafe for SubscriptionManager<I>
impl<I> Send for SubscriptionManager<I> where
I: Send,
impl<I> Sync for SubscriptionManager<I> where
I: Sync,
impl<I> Unpin for SubscriptionManager<I> where
I: Unpin,
impl<I = RandomStringIdProvider> !UnwindSafe for SubscriptionManager<I>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more