Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Модуль io

Источник: Документация 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 объекте

Трейты

ТрейтОписание
AsyncBufReadАсинхронное чтение байтов с буферизацией
AsyncBufReadExtТрейт-расширение для AsyncBufRead
AsyncReadАсинхронное чтение байтов
AsyncReadExtТрейт-расширение для AsyncRead
AsyncSeekАсинхронный поиск байтов
AsyncSeekExtТрейт-расширение для AsyncSeek
AsyncWriteАсинхронная запись байтов
AsyncWriteExtТрейт-расширение для AsyncWrite

Функции

ФункцияОписание
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