pub struct UnreliableReceiver<T: UnreliablePolicy> { /* private fields */ }Expand description
Receiver half of an unreliable mailbox.
Dropping the receiver closes the mailbox and drains buffered messages.
Dropping the last sender disconnects the mailbox, but the receiver continues returning buffered messages until ready and overflow are empty.
Implementations§
Source§impl<T: UnreliablePolicy> UnreliableReceiver<T>
impl<T: UnreliablePolicy> UnreliableReceiver<T>
Sourcepub async fn recv(&mut self) -> Option<T>
pub async fn recv(&mut self) -> Option<T>
Receive the next message.
Returns None after all senders are dropped and all buffered messages
have been drained.
Sourcepub fn try_recv(&mut self) -> Result<T, TryRecvError>
pub fn try_recv(&mut self) -> Result<T, TryRecvError>
Try to receive the next message without waiting.
Returns TryRecvError::Disconnected after all senders are dropped and
all buffered messages have been drained.
Trait Implementations§
Source§impl<T: UnreliablePolicy> Drop for UnreliableReceiver<T>
impl<T: UnreliablePolicy> Drop for UnreliableReceiver<T>
Auto Trait Implementations§
impl<T> Freeze for UnreliableReceiver<T>
impl<T> !RefUnwindSafe for UnreliableReceiver<T>
impl<T> Send for UnreliableReceiver<T>
impl<T> Sync for UnreliableReceiver<T>
impl<T> Unpin for UnreliableReceiver<T>
impl<T> UnsafeUnpin for UnreliableReceiver<T>
impl<T> !UnwindSafe for UnreliableReceiver<T>
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 more