pub trait AsyncWrite {
// Required methods
async fn write<T>(&mut self, buf: T) -> BufResult<usize, T>
where T: IoBuf;
async fn flush(&mut self) -> Result<(), Error>;
async fn shutdown(&mut self) -> Result<(), Error>;
// Provided method
async fn write_vectored<T>(&mut self, buf: T) -> BufResult<usize, T>
where T: IoVectoredBuf { ... }
}Available on crate feature
io only.Expand description
§AsyncWrite
Async write with a ownership of a buffer
Required Methods§
Provided Methods§
Sourceasync fn write_vectored<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoVectoredBuf,
async fn write_vectored<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoVectoredBuf,
Like write, except that it write bytes from a buffer implements
IoVectoredBuf into the source.
The default implementation will write from the first buffers with
non-zero buf_len, meaning it’s possible and likely that not all
contents are written. If guaranteed full write is desired, it is
recommended to use AsyncWriteExt::write_vectored_all instead.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl AsyncWrite for &mut [u8]
impl AsyncWrite for &mut [u8]
Source§impl<A> AsyncWrite for &mut Awhere
A: AsyncWrite + ?Sized,
impl<A> AsyncWrite for &mut Awhere
A: AsyncWrite + ?Sized,
Source§impl<A> AsyncWrite for Cursor<A>where
A: AsyncWriteAt,
impl<A> AsyncWrite for Cursor<A>where
A: AsyncWriteAt,
Implementors§
impl AsyncWrite for &NamedPipeClient
impl AsyncWrite for &NamedPipeServer
impl AsyncWrite for &TcpStream
impl AsyncWrite for &UnixStream
impl AsyncWrite for NamedPipeClient
impl AsyncWrite for NamedPipeServer
impl AsyncWrite for Stderr
impl AsyncWrite for Stdout
impl AsyncWrite for TcpStream
impl AsyncWrite for UnixStream
impl AsyncWrite for ChildStdin
impl AsyncWrite for SendStream
impl AsyncWrite for Null
impl<A> AsyncWrite for Vec<u8, A>where
A: Allocator,
Write is implemented for Vec<u8> by appending to the vector. The vector
will grow as needed.