Struct tokio::io::DuplexStream [−][src]
pub struct DuplexStream { /* fields omitted */ }
Expand description
A bidirectional pipe to read and write bytes in memory.
A pair of DuplexStream
s are created together, and they act as a “channel”
that can be used as in-memory IO types. Writing to one of the pairs will
allow that data to be read from the other, and vice versa.
Example
let (mut client, mut server) = tokio::io::duplex(64); client.write_all(b"ping").await?; let mut buf = [0u8; 4]; server.read_exact(&mut buf).await?; assert_eq!(&buf, b"ping"); server.write_all(b"pong").await?; client.read_exact(&mut buf).await?; assert_eq!(&buf, b"pong");
Trait Implementations
Attempt to write bytes from buf
into the object. Read more
Attempts to flush the object, ensuring that any buffered data reach their destination. Read more
Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
Like poll_write
, except that it writes from a slice of buffers. Read more
Determines if this writer has an efficient poll_write_vectored
implementation. Read more
Auto Trait Implementations
impl !RefUnwindSafe for DuplexStream
impl Send for DuplexStream
impl Sync for DuplexStream
impl Unpin for DuplexStream
impl !UnwindSafe for DuplexStream