Spec-Zone.ru › Tokio

Функция empty

pub fn empty() -> Empty
Доступна только при включённой возможности crate io-util.

Создаёт значение, которое при чтении всегда находится в EOF и игнорирует все записанные данные.

Все операции записи в возвращённый экземпляр вернут Poll::Ready(Ok(buf.len())), а содержимое буфера не будет проверяться.

Все операции чтения из возвращённого экземпляра вернут Poll::Ready(Ok(0)).

Это асинхронная версия std::io::empty.

Примеры

Немного печальный пример того, как ничего не читать в буфер:

use tokio::io::{self, AsyncReadExt};

    let mut buffer = String::new();
    io::empty().read_to_string(&mut buffer).await.unwrap();
    assert!(buffer.is_empty());

Запутанный способ узнать длину буфера:

use tokio::io::{self, AsyncWriteExt};

let buffer = vec![1, 2, 3, 5, 8];
let num_bytes = io::empty().write(&buffer).await.unwrap();
assert_eq!(num_bytes, 5);

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/io/fn.empty.html

Spec-Zone.ru

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