pub struct PubsubClientSubscription<T>where
T: DeserializeOwned,{ /* private fields */ }
Expand description
A subscription.
The subscription is unsubscribed on drop, and note that unsubscription (and
thus drop) time is unbounded. See
PubsubClientSubscription::send_unsubscribe
.
Implementations§
Source§impl<T> PubsubClientSubscription<T>where
T: DeserializeOwned,
impl<T> PubsubClientSubscription<T>where
T: DeserializeOwned,
Sourcepub fn send_unsubscribe(&self) -> Result<(), PubsubClientError>
pub fn send_unsubscribe(&self) -> Result<(), PubsubClientError>
Send an unsubscribe message to the server.
Note that this will block as long as the internal subscription receiver is waiting on messages from the server, and this can take an unbounded amount of time if the server does not send any messages.
If a pubsub client needs to shutdown reliably it should use
the async client in crate::nonblocking::pubsub_client
.
Sourcepub fn shutdown(&mut self) -> Result<(), Box<dyn Any + Send>>
pub fn shutdown(&mut self) -> Result<(), Box<dyn Any + Send>>
Shutdown the internel message receiver and wait for its thread to exit.
Note that this will block as long as the subscription receiver is waiting on messages from the server, and this can take an unbounded amount of time if the server does not send any messages.
If a pubsub client needs to shutdown reliably it should use
the async client in crate::nonblocking::pubsub_client
.
Trait Implementations§
Source§impl<T> Drop for PubsubClientSubscription<T>where
T: DeserializeOwned,
impl<T> Drop for PubsubClientSubscription<T>where
T: DeserializeOwned,
Auto Trait Implementations§
impl<T> Freeze for PubsubClientSubscription<T>
impl<T> !RefUnwindSafe for PubsubClientSubscription<T>
impl<T> Send for PubsubClientSubscription<T>where
T: Send,
impl<T> Sync for PubsubClientSubscription<T>where
T: Sync,
impl<T> Unpin for PubsubClientSubscription<T>where
T: Unpin,
impl<T> !UnwindSafe for PubsubClientSubscription<T>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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>
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>
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 more