Struct tor_basic_utils::futures::SinkSendable
source · [−]pub struct SinkSendable<'w, OS, OM> { /* private fields */ }
Expand description
A Sink
which is ready to receive an item
Produced by SinkExt::prepare_send_from
. See there for the overview docs.
This references an output sink OS
.
It offers the ability to write into the sink without blocking,
(and constitutes a proof token that the sink has declared itself ready for that).
The only useful method is send
.
SinkSendable
has no drop glue and can be freely dropped,
for example if you prepare to send a message and then
encounter an error when producing the output message.
Implementations
sourceimpl<'w, OS, OM> SinkSendable<'w, OS, OM> where
OS: Sink<OM>,
impl<'w, OS, OM> SinkSendable<'w, OS, OM> where
OS: Sink<OM>,
sourcepub fn send(self, item: OM) -> Result<(), OS::Error>
pub fn send(self, item: OM) -> Result<(), OS::Error>
Synchronously send an item into OS
, which is a Sink
Can fail if the sink OS
reports an error.
(However, the existence of the SinkSendable
demonstrates that
the sink reported itself ready for sending,
so this call is synchronous, avoiding cancellation hazards.)
Auto Trait Implementations
impl<'w, OS, OM> RefUnwindSafe for SinkSendable<'w, OS, OM> where
OS: RefUnwindSafe,
impl<'w, OS, OM> Send for SinkSendable<'w, OS, OM> where
OS: Send,
impl<'w, OS, OM> Sync for SinkSendable<'w, OS, OM> where
OS: Sync,
impl<'w, OS, OM> Unpin for SinkSendable<'w, OS, OM>
impl<'w, OS, OM> !UnwindSafe for SinkSendable<'w, OS, OM>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more