Spec-Zone.ru › Tokio

Функция 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API