Источник: Документация futures-lite::io
Инструменты и комбинаторы для ввода-вывода.
#![allow(unused)]
fn main() {
use futures_lite::io::{self, AsyncReadExt};
let input: &[u8] = b"hello";
let mut reader = io::BufReader::new(input);
let mut contents = String::new();
reader.read_to_string(&mut contents).await?;
}
| Структура | Описание |
AssertAsync | Утверждает, что тип, реализующий трейты std::io, может использоваться как асинхронный тип |
AsyncAsSync | Обертка вокруг типа, реализующего AsyncRead или AsyncWrite, которая преобразует опросы Pending в ошибки WouldBlock |
BlockOn | Блокирует все асинхронные I/O операции и реализует трейты std::io |
BufReader | Добавляет буферизацию к читателю |
BufWriter | Добавляет буферизацию к писателю |
Bytes | Читатель для метода AsyncReadExt::bytes() |
Chain | Читатель для метода AsyncReadExt::chain() |
CloseFuture | Фьючерс для метода AsyncWriteExt::close() |
Cursor | Предоставляет буферу в памяти курсор для чтения и записи |
Empty | Читатель для функции empty() |
Error | Тип ошибки для операций I/O трейтов Read, Write, Seek и связанных с ними |
FillBuf | Фьючерс для метода AsyncBufReadExt::fill_buf() |
FlushFuture | Фьючерс для метода AsyncWriteExt::flush() |
Lines | Поток для метода AsyncBufReadExt::lines() |
ReadExactFuture | Фьючерс для метода AsyncReadExt::read_exact() |
ReadFuture | Фьючерс для метода AsyncReadExt::read() |
ReadHalf | Половина для чтения, возвращаемая split() |
ReadLineFuture | Фьючерс для метода AsyncBufReadExt::read_line() |
ReadToEndFuture | Фьючерс для метода AsyncReadExt::read_to_end() |
ReadToStringFuture | Фьючерс для метода AsyncReadExt::read_to_string() |
ReadUntilFuture | Фьючерс для метода AsyncBufReadExt::read_until() |
ReadVectoredFuture | Фьючерс для метода AsyncReadExt::read_vectored() |
Repeat | Читатель для функции repeat() |
SeekFuture | Фьючерс для метода AsyncSeekExt::seek() |
Sink | Писатель для функции sink() |
Split | Поток для метода AsyncBufReadExt::split() |
Take | Читатель для метода AsyncReadExt::take() |
WriteAllFuture | Фьючерс для метода AsyncWriteExt::write_all() |
WriteFuture | Фьючерс для метода AsyncWriteExt::write() |
WriteHalf | Половина для записи, возвращаемая split() |
WriteVectoredFuture | Фьючерс для метода AsyncWriteExt::write_vectored() |
| Перечисление | Описание |
ErrorKind | Список, определяющий общие категории ошибок I/O |
SeekFrom | Перечисление возможных методов поиска в I/O объекте |
| Функция | Описание |
copy | Копирует все содержимое из читателя в писатель |
empty | Создает пустой читатель |
repeat | Создает бесконечного читателя, который повторно читает один и тот же байт |
sink | Создает писатель, который потребляет и отбрасывает все данные |
split | Разделяет поток на половины AsyncRead и AsyncWrite |
| Псевдоним | Описание |
BoxedReader | Псевдоним типа для Pin<Box<dyn AsyncRead + Send + 'static>> |
BoxedWriter | Псевдоним типа для Pin<Box<dyn AsyncWrite + Send + 'static>> |
Result | Специализированный тип Result для операций I/O |