pub struct PubSubContext<Handler: PubSubRpcHandler> {
subscriptions: Arc<Mutex<Vec<(Handler::SubscriptionId, Handler::Subscription)>>>,
}
Expand description
Contains additional context and tracks subscriptions
Fields§
§subscriptions: Arc<Mutex<Vec<(Handler::SubscriptionId, Handler::Subscription)>>>
all active subscriptions id -> Stream
Implementations§
Source§impl<Handler: PubSubRpcHandler> PubSubContext<Handler>
impl<Handler: PubSubRpcHandler> PubSubContext<Handler>
Sourcepub fn add_subscription(
&self,
id: Handler::SubscriptionId,
subscription: Handler::Subscription,
) -> Option<Handler::Subscription>
pub fn add_subscription( &self, id: Handler::SubscriptionId, subscription: Handler::Subscription, ) -> Option<Handler::Subscription>
Adds new active subscription
Returns the previous subscription, if any
Sourcepub fn remove_subscription(
&self,
id: &Handler::SubscriptionId,
) -> Option<Handler::Subscription>
pub fn remove_subscription( &self, id: &Handler::SubscriptionId, ) -> Option<Handler::Subscription>
Removes an existing subscription
Trait Implementations§
Source§impl<Handler: PubSubRpcHandler> Clone for PubSubContext<Handler>
impl<Handler: PubSubRpcHandler> Clone for PubSubContext<Handler>
Source§impl<Handler: PubSubRpcHandler> Default for PubSubContext<Handler>
impl<Handler: PubSubRpcHandler> Default for PubSubContext<Handler>
Auto Trait Implementations§
impl<Handler> Freeze for PubSubContext<Handler>
impl<Handler> !RefUnwindSafe for PubSubContext<Handler>
impl<Handler> Send for PubSubContext<Handler>
impl<Handler> Sync for PubSubContext<Handler>
impl<Handler> Unpin for PubSubContext<Handler>
impl<Handler> !UnwindSafe for PubSubContext<Handler>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes