pub fn simplex(
max_buf_size: usize,
) -> (ReadHalf<SimplexStream>, WriteHalf<SimplexStream>)展开描述
创建一个单向缓冲区,行为类似于内存中的管道。
max_buf_size 参数是缓冲区在返回 Poll::Pending
之前可以写入的最大字节数。
§Unify reader and writer
reader 和 writer 两半可以统一为一个
同时支持读和写的 SimplexStream 结构,
或者 SimplexStream 也可以使用
SimplexStream::new_unsplit() 作为统一结构预先创建。
let (reader, writer) = tokio::io::simplex(64);
let mut simplex_stream = reader.unsplit(writer);
simplex_stream.write_all(b"hello").await?;
let mut buf = [0u8; 5];
simplex_stream.read_exact(&mut buf).await?;
assert_eq!(&buf, b"hello");