Struct Wait

Source
pub struct Wait<S> { /* private fields */ }
Expand description

A sink combinator which converts an asynchronous sink to a blocking sink.

Created by the Sink::wait method, this function transforms any sink into a blocking version. This is implemented by blocking the current thread when a sink is otherwise unable to make progress.

Implementations§

Source§

impl<S> Wait<S>
where S: Sink,

Source

pub fn send( &mut self, value: <S as Sink>::SinkItem, ) -> Result<(), <S as Sink>::SinkError>

Sends a value to this sink, blocking the current thread until it’s able to do so.

This function will take the value provided and call the underlying sink’s start_send function until it’s ready to accept the value. If the function returns NotReady then the current thread is blocked until it is otherwise ready to accept the value.

§Return value

If Ok(()) is returned then the value provided was successfully sent along the sink, and if Err(e) is returned then an error occurred which prevented the value from being sent.

Source

pub fn flush(&mut self) -> Result<(), <S as Sink>::SinkError>

Flushes any buffered data in this sink, blocking the current thread until it’s entirely flushed.

This function will call the underlying sink’s poll_complete method until it returns that it’s ready to proceed. If the method returns NotReady the current thread will be blocked until it’s otherwise ready to proceed.

Source

pub fn close(&mut self) -> Result<(), <S as Sink>::SinkError>

Close this sink, blocking the current thread until it’s entirely closed.

This function will call the underlying sink’s close method until it returns that it’s closed. If the method returns NotReady the current thread will be blocked until it’s otherwise closed.

Trait Implementations§

Source§

impl<S> Debug for Wait<S>
where S: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> !Freeze for Wait<S>

§

impl<S> !RefUnwindSafe for Wait<S>

§

impl<S> Send for Wait<S>
where S: Send,

§

impl<S> !Sync for Wait<S>

§

impl<S> Unpin for Wait<S>
where S: Unpin,

§

impl<S> !UnwindSafe for Wait<S>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.