pub trait AsyncWrite {
// Required methods
fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize, Error>>;
fn poll_flush(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>;
fn poll_close(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>;
// Provided method
fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize, Error>> { ... }
}
Expand description
Write bytes asynchronously.
This trait is analogous to the std::io::Write
trait, but integrates
with the asynchronous task system. In particular, the poll_write
method, unlike Write::write
, will automatically queue the current task
for wakeup and return if the writer cannot take more data, rather than blocking
the calling thread.
Required Methods§
Sourcefn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize, Error>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
Attempt to write bytes from buf
into the object.
On success, returns Poll::Ready(Ok(num_bytes_written))
.
If the object is not ready for writing, the method returns
Poll::Pending
and arranges for the current task (via
cx.waker().wake_by_ref()
) to receive a notification when the object becomes
writable or is closed.
§Implementation
This function may not return errors of kind WouldBlock
or
Interrupted
. Implementations must convert WouldBlock
into
Poll::Pending
and either internally retry or convert
Interrupted
into another error kind.
poll_write
must try to make progress by flushing the underlying object if
that is the only way the underlying object can become writable again.
Sourcefn poll_flush(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Attempt to flush the object, ensuring that any buffered data reach their destination.
On success, returns Poll::Ready(Ok(()))
.
If flushing cannot immediately complete, this method returns
Poll::Pending
and arranges for the current task (via
cx.waker().wake_by_ref()
) to receive a notification when the object can make
progress towards flushing.
§Implementation
This function may not return errors of kind WouldBlock
or
Interrupted
. Implementations must convert WouldBlock
into
Poll::Pending
and either internally retry or convert
Interrupted
into another error kind.
It only makes sense to do anything here if you actually buffer data.
Sourcefn poll_close(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Attempt to close the object.
On success, returns Poll::Ready(Ok(()))
.
If closing cannot immediately complete, this function returns
Poll::Pending
and arranges for the current task (via
cx.waker().wake_by_ref()
) to receive a notification when the object can make
progress towards closing.
§Implementation
This function may not return errors of kind WouldBlock
or
Interrupted
. Implementations must convert WouldBlock
into
Poll::Pending
and either internally retry or convert
Interrupted
into another error kind.
Provided Methods§
Sourcefn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
Attempt to write bytes from bufs
into the object using vectored
IO operations.
This method is similar to poll_write
, but allows data from multiple buffers to be written
using a single operation.
On success, returns Poll::Ready(Ok(num_bytes_written))
.
If the object is not ready for writing, the method returns
Poll::Pending
and arranges for the current task (via
cx.waker().wake_by_ref()
) to receive a notification when the object becomes
writable or is closed.
By default, this method delegates to using poll_write
on the first
nonempty buffer in bufs
, or an empty one if none exists. Objects which
support vectored IO should override this method.
§Implementation
This function may not return errors of kind WouldBlock
or
Interrupted
. Implementations must convert WouldBlock
into
Poll::Pending
and either internally retry or convert
Interrupted
into another error kind.
Implementations on Foreign Types§
Source§impl AsyncWrite for Vec<u8>
impl AsyncWrite for Vec<u8>
fn poll_write( self: Pin<&mut Vec<u8>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Vec<u8>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Vec<u8>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Vec<u8>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for File
impl AsyncWrite for File
Source§impl AsyncWrite for TcpStream
impl AsyncWrite for TcpStream
fn poll_write( self: Pin<&mut TcpStream>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut TcpStream>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut TcpStream>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_write_vectored( self: Pin<&mut TcpStream>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
Source§impl AsyncWrite for UnixStream
impl AsyncWrite for UnixStream
fn poll_write( self: Pin<&mut UnixStream>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut UnixStream>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut UnixStream>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for ChildStdin
impl AsyncWrite for ChildStdin
fn poll_write( self: Pin<&mut ChildStdin>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut ChildStdin>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut ChildStdin>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for BipeWriter
impl AsyncWrite for BipeWriter
fn poll_write( self: Pin<&mut BipeWriter>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BipeWriter>, _cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BipeWriter>, _cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<&mut Vec<u8>>
impl AsyncWrite for Cursor<&mut Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_close( self: Pin<&mut Cursor<&mut Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<&mut Vec<u8>>
impl AsyncWrite for Cursor<&mut Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_close( self: Pin<&mut Cursor<&mut Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<&mut [u8]>
impl AsyncWrite for Cursor<&mut [u8]>
fn poll_write( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<&mut [u8]>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<&mut [u8]>
impl AsyncWrite for Cursor<&mut [u8]>
fn poll_write( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<&mut [u8]>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<Vec<u8>>
impl AsyncWrite for Cursor<Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_close( self: Pin<&mut Cursor<Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<Vec<u8>>
impl AsyncWrite for Cursor<Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_close( self: Pin<&mut Cursor<Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Sink
impl AsyncWrite for Sink
Source§impl AsyncWrite for Sink
impl AsyncWrite for Sink
Source§impl AsyncWrite for Cursor<&mut Vec<u8>>
impl AsyncWrite for Cursor<&mut Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<&mut Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<&mut [u8]>
impl AsyncWrite for Cursor<&mut [u8]>
fn poll_write( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<&mut [u8]>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<&mut [u8]>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<Box<[u8]>>
impl AsyncWrite for Cursor<Box<[u8]>>
fn poll_write( self: Pin<&mut Cursor<Box<[u8]>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<Box<[u8]>>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<Box<[u8]>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<Box<[u8]>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Cursor<Vec<u8>>
impl AsyncWrite for Cursor<Vec<u8>>
fn poll_write( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Cursor<Vec<u8>>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Cursor<Vec<u8>>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Sink
impl AsyncWrite for Sink
fn poll_write( self: Pin<&mut Sink>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Sink>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Sink>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Sink>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for Writer
impl AsyncWrite for Writer
fn poll_write( self: Pin<&mut Writer>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Writer>, _cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Writer>, _cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl AsyncWrite for RelConn
impl AsyncWrite for RelConn
fn poll_write( self: Pin<&mut RelConn>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_close( self: Pin<&mut RelConn>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut RelConn>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<A, B> AsyncWrite for Either<A, B>where
A: AsyncWrite,
B: AsyncWrite,
impl<A, B> AsyncWrite for Either<A, B>where
A: AsyncWrite,
B: AsyncWrite,
fn poll_write( self: Pin<&mut Either<A, B>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Either<A, B>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Either<A, B>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Either<A, B>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<P> AsyncWrite for Pin<P>
impl<P> AsyncWrite for Pin<P>
fn poll_write( self: Pin<&mut Pin<P>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Pin<P>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Pin<P>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Pin<P>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
fn poll_write( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
fn poll_write( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
impl<R> AsyncWrite for BufReader<R>where
R: AsyncWrite,
fn poll_write( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufReader<R>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<St> AsyncWrite for IntoAsyncRead<St>
impl<St> AsyncWrite for IntoAsyncRead<St>
fn poll_write( self: Pin<&mut IntoAsyncRead<St>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut IntoAsyncRead<St>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut IntoAsyncRead<St>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for &Mutex<T>where
T: AsyncWrite + Unpin,
impl<T> AsyncWrite for &Mutex<T>where
T: AsyncWrite + Unpin,
fn poll_write( self: Pin<&mut &Mutex<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut &Mutex<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut &Mutex<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut &Mutex<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for &Async<T>
impl<T> AsyncWrite for &Async<T>
fn poll_write( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for &Async<T>
impl<T> AsyncWrite for &Async<T>
fn poll_write( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut &Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for &mut T
impl<T> AsyncWrite for &mut T
fn poll_write( self: Pin<&mut &mut T>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut &mut T>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut &mut T>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut &mut T>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Box<T>
impl<T> AsyncWrite for Box<T>
fn poll_write( self: Pin<&mut Box<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Box<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Box<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Box<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Arc<T>where
&'a T: for<'a> AsyncWrite,
impl<T> AsyncWrite for Arc<T>where
&'a T: for<'a> AsyncWrite,
fn poll_write( self: Pin<&mut Arc<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Arc<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Arc<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Arc<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Mutex<T>where
T: AsyncWrite + Unpin,
impl<T> AsyncWrite for Mutex<T>where
T: AsyncWrite + Unpin,
fn poll_write( self: Pin<&mut Mutex<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Mutex<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Mutex<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Mutex<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Async<T>where
T: Write,
impl<T> AsyncWrite for Async<T>where
T: Write,
fn poll_write( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Async<T>
impl<T> AsyncWrite for Async<T>
fn poll_write( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Async<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for Unblock<T>
impl<T> AsyncWrite for Unblock<T>
fn poll_write( self: Pin<&mut Unblock<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut Unblock<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut Unblock<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for AssertAsync<T>where
T: Write,
impl<T> AsyncWrite for AssertAsync<T>where
T: Write,
fn poll_write( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut AssertAsync<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for AssertAsync<T>where
T: Write,
impl<T> AsyncWrite for AssertAsync<T>where
T: Write,
fn poll_write( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut AssertAsync<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut AssertAsync<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for WriteHalf<T>where
T: AsyncWrite + Unpin,
impl<T> AsyncWrite for WriteHalf<T>where
T: AsyncWrite + Unpin,
fn poll_write( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for WriteHalf<T>where
T: AsyncWrite + Unpin,
impl<T> AsyncWrite for WriteHalf<T>where
T: AsyncWrite + Unpin,
fn poll_write( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut WriteHalf<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<T> AsyncWrite for AllowStdIo<T>where
T: Write,
impl<T> AsyncWrite for AllowStdIo<T>where
T: Write,
fn poll_write( self: Pin<&mut AllowStdIo<T>>, _: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut AllowStdIo<T>>, _: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut AllowStdIo<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut AllowStdIo<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
fn poll_write( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
fn poll_write( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
impl<W> AsyncWrite for BufWriter<W>where
W: AsyncWrite,
fn poll_write( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
fn poll_flush( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut BufWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Source§impl<W> AsyncWrite for LineWriter<W>where
W: AsyncWrite,
impl<W> AsyncWrite for LineWriter<W>where
W: AsyncWrite,
Source§fn poll_flush(
self: Pin<&mut LineWriter<W>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut LineWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Forward to buf_writer
’s BufWriter::poll_flush()
Source§fn poll_close(
self: Pin<&mut LineWriter<W>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_close( self: Pin<&mut LineWriter<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
Forward to buf_writer
’s BufWriter::poll_close()