Функция simplex
pub fn simplex(
max_buf_size: usize,
) -> (ReadHalf<SimplexStream>, WriteHalf<SimplexStream>)
Доступно только при включённой функции крейта
io-util.Создаёт однонаправленный буфер, работающий как канал в памяти.
Аргумент max_buf_size задаёт максимальное количество байтов, которое можно записать в буфер до возврата Poll::Pending.
Объединение читателя и писателя
Читающую и записывающую половины можно объединить в единую структуру типа 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");
MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/io/fn.simplex.html