Struct tokio::io::DuplexStream [−][src]
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
impl AsyncRead for DuplexStream
[src][+]
impl AsyncWrite for DuplexStream
[src][+]
impl Debug for DuplexStream
[src][+]
impl Drop for DuplexStream
[src][+]
Auto Trait Implementations
impl !RefUnwindSafe for DuplexStream
impl Send for DuplexStream
impl Sync for DuplexStream
impl Unpin for DuplexStream
impl !UnwindSafe for DuplexStream
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,