跳到主要内容

simplex

搜索

函数 simplex 

Source
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");