pub struct OutcomeFeed { /* private fields */ }Expand description
Receiver side of a backend’s own outcome stream.
Cloning hands out another view of the same queue, and a view takes each fact at most once, so exactly one consumer settles a given task however many drains are alive. That is why this is a queue and not a channel: a backend outlives its first drain, and a receiver handed to a consumer that then died would leave the stream un-drainable.
Implementations§
Source§impl OutcomeFeed
impl OutcomeFeed
Sourcepub fn channel() -> (OutcomeSink, Self)
pub fn channel() -> (OutcomeSink, Self)
The paired ends of one outcome stream.
Sourcepub fn try_recv(&self) -> Option<SessionOutcome>
pub fn try_recv(&self) -> Option<SessionOutcome>
The next fact, without waiting.
Sourcepub fn recv_timeout(&self, timeout: Duration) -> Option<SessionOutcome>
pub fn recv_timeout(&self, timeout: Duration) -> Option<SessionOutcome>
The next fact, waiting at most timeout.
Trait Implementations§
Source§impl Clone for OutcomeFeed
impl Clone for OutcomeFeed
Auto Trait Implementations§
impl !RefUnwindSafe for OutcomeFeed
impl !UnwindSafe for OutcomeFeed
impl Freeze for OutcomeFeed
impl Send for OutcomeFeed
impl Sync for OutcomeFeed
impl Unpin for OutcomeFeed
impl UnsafeUnpin for OutcomeFeed
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
Mutably borrows from an owned value. Read more