Spec-Zone.ru › Tokio

Структура File

pub struct File { /* private fields */ }
Доступно только при включённой функции crate fs.

Ссылка на открытый файл в файловой системе.

Это специализированная версия std::fs::File, предназначенная для использования в среде выполнения Tokio.

Экземпляр File можно читать и/или записывать в зависимости от параметров, с которыми он был открыт. Файлы также реализуют AsyncSeek, чтобы изменять логический курсор, хранящийся внутри файла.

Файл не будет закрыт сразу после выхода из области видимости, если остались незавершённые операции ввода-вывода. Чтобы гарантировать немедленное закрытие файла при его удалении, перед этим следует вызвать flush. Обратите внимание, что это не гарантирует, что файл будет полностью записан на диск: операционная система может хранить изменения в буфере в памяти. См. метод sync_all, который указывает ОС записать данные на диск.

Чтение из File и запись в него обычно выполняются с помощью удобных методов, определённых в трейтах AsyncReadExt и AsyncWriteExt.

Примеры

Создание нового файла и асинхронная запись в него байтов:

use tokio::fs::File;
use tokio::io::AsyncWriteExt; // for write_all()

let mut file = File::create("foo.txt").await?;
file.write_all(b"hello, world!").await?;

Чтение содержимого файла в буфер:

use tokio::fs::File;
use tokio::io::AsyncReadExt; // for read_to_end()

let mut file = File::open("foo.txt").await?;

let mut contents = vec![];
file.read_to_end(&mut contents).await?;

println!("len = {}", contents.len());

Реализации

impl File

pub async fn open(path: impl AsRef<Path>) -> Result<File>

Пытается открыть файл в режиме только для чтения.

Подробнее см. OpenOptions.

Ошибки

Эта функция вернёт ошибку, если её вызвать вне среды выполнения Tokio или если файл по указанному пути не существует. Также могут быть возвращены другие ошибки в соответствии с OpenOptions::open.

Примеры
use tokio::fs::File;
use tokio::io::AsyncReadExt;

let mut file = File::open("foo.txt").await?;

let mut contents = vec![];
file.read_to_end(&mut contents).await?;

println!("len = {}", contents.len());

Метод read_to_end определён в трейте AsyncReadExt.

pub async fn create(path: impl AsRef<Path>) -> Result<File>

Открывает файл в режиме только для записи.

Эта функция создаст файл, если он не существует, и очистит его содержимое, если он существует.

Подробнее см. OpenOptions.

Ошибки

Возвращает ошибку, если вызвана вне среды выполнения Tokio или если вызов create для нижележащего объекта завершается ошибкой.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::create("foo.txt").await?;
file.write_all(b"hello, world!").await?;

Метод write_all определён в трейте AsyncWriteExt.

pub async fn create_new<P: AsRef<Path>>(path: P) -> Result<File>

Открывает файл в режиме чтения и записи.

Эта функция создаст файл, если он не существует, или вернёт ошибку, если он существует. Таким образом, при успешном выполнении гарантируется, что возвращённый файл является новым.

Этот параметр удобен тем, что операция атомарна. В противном случае между проверкой существования файла и созданием нового файла его может создать другой процесс (состояние гонки TOCTOU / атака).

Это также можно записать с помощью File::options().read(true).write(true).create_new(true).open(...).

Подробнее см. OpenOptions.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::create_new("foo.txt").await?;
file.write_all(b"hello, world!").await?;

Метод write_all определён в трейте AsyncWriteExt.

pub fn options() -> OpenOptions

Возвращает новый объект OpenOptions.

Эта функция возвращает новый объект OpenOptions, который можно использовать для открытия или создания файла с заданными параметрами, если open() или create() не подходят.

Это эквивалентно OpenOptions::new(), но позволяет писать более понятный код. Вместо OpenOptions::new().append(true).open("example.log") можно написать File::options().append(true).open("example.log"). Кроме того, это избавляет от необходимости импортировать OpenOptions.

Подробнее см. функцию OpenOptions::new.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut f = File::options().append(true).open("example.log").await?;
f.write_all(b"new line\n").await?;

pub fn from_std(std: StdFile) -> File

Преобразует std::fs::File в tokio::fs::File.

Примеры
// This line could block. It is not recommended to do this on the Tokio
// runtime.
let std_file = std::fs::File::open("foo.txt").unwrap();
let file = tokio::fs::File::from_std(std_file);

pub async fn sync_all(&self) -> Result<()>

Пытается синхронизировать все внутренние метаданные ОС с диском.

Эта функция пытается обеспечить запись всех данных, находящихся в памяти, в файловую систему до возврата.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::create("foo.txt").await?;
file.write_all(b"hello, world!").await?;
file.sync_all().await?;

Метод write_all определён в трейте AsyncWriteExt.

pub async fn sync_data(&self) -> Result<()>

Эта функция похожа на sync_all, за исключением того, что она может не синхронизировать метаданные файла с файловой системой.

Она предназначена для случаев, когда необходимо синхронизировать содержимое, но метаданные на диске не нужны. Цель этого метода — сократить количество операций с диском.

Обратите внимание, что на некоторых платформах этот метод может быть реализован просто через sync_all.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::create("foo.txt").await?;
file.write_all(b"hello, world!").await?;
file.sync_data().await?;

Метод write_all определён в трейте AsyncWriteExt.

pub async fn set_len(&self, size: u64) -> Result<()>

Усекает или расширяет базовый файл, изменяя его размер на size.

Если size меньше текущего размера файла, файл будет уменьшен. Если он больше текущего размера файла, файл будет расширен до size, а все промежуточные данные будут заполнены нулями.

Ошибки

Эта функция вернёт ошибку, если файл не открыт для записи.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::create("foo.txt").await?;
file.write_all(b"hello, world!").await?;
file.set_len(10).await?;

Метод write_all определён в трейте AsyncWriteExt.

pub async fn metadata(&self) -> Result<Metadata>

Получает метаданные базового файла.

Примеры
use tokio::fs::File;

let file = File::open("foo.txt").await?;
let metadata = file.metadata().await?;

println!("{:?}", metadata);

pub async fn try_clone(&self) -> Result<File>

Создаёт новый экземпляр File, использующий тот же базовый файловый дескриптор, что и существующий экземпляр File. Чтение, запись и перемещение по файлу будут одновременно влиять на оба экземпляра File.

Примеры
use tokio::fs::File;

let file = File::open("foo.txt").await?;
let file_clone = file.try_clone().await?;

pub async fn into_std(self) -> StdFile

Преобразует File в std::fs::File. Эта функция является асинхронной, чтобы все выполняющиеся операции могли завершиться.

Чтобы выполнить преобразование немедленно, используйте File::try_into_std.

Примеры
use tokio::fs::File;

let tokio_file = File::open("foo.txt").await?;
let std_file = tokio_file.into_std().await;

pub fn try_into_std(self) -> Result<StdFile, Self>

Пытается немедленно преобразовать File в std::fs::File.

Ошибки

Эта функция вернёт ошибку, содержащую файл, если какая-либо операция ещё выполняется.

Примеры
use tokio::fs::File;

let tokio_file = File::open("foo.txt").await?;
let std_file = tokio_file.try_into_std().unwrap();

pub async fn set_permissions(&self, perm: Permissions) -> Result<()>

Изменяет права доступа к базовому файлу.

Поведение зависит от платформы

В настоящее время эта функция соответствует функции fchmod в Unix и функции SetFileInformationByHandle в Windows. Обратите внимание, что это может измениться в будущем.

Ошибки

Эта функция вернёт ошибку, если у пользователя недостаточно прав для изменения атрибутов базового файла. Она также может возвращать ошибку в других неуказанных случаях, специфичных для ОС.

Примеры
use tokio::fs::File;

let file = File::open("foo.txt").await?;
let mut perms = file.metadata().await?.permissions();
perms.set_readonly(true);
file.set_permissions(perms).await?;

pub fn set_max_buf_size(&mut self, max_buf_size: usize)

Задаёт максимальный размер буфера для операции с базовым AsyncRead / AsyncWrite.

Хотя Tokio использует разумное значение по умолчанию для размера этого буфера, эта функция полезна, когда необходимо изменить значение по умолчанию в зависимости от ситуации.

Примеры
use tokio::fs::File;
use tokio::io::AsyncWriteExt;

let mut file = File::open("foo.txt").await?;

// Set maximum buffer size to 8 MiB
file.set_max_buf_size(8 * 1024 * 1024);

let mut buf = vec![1; 1024 * 1024 * 1024];

// Write the 1 GiB buffer in chunks up to 8 MiB each.
file.write_all(&mut buf).await?;

pub fn max_buf_size(&self) -> usize

Возвращает максимальный размер буфера для операции с базовым AsyncRead / AsyncWrite.

Реализации трейтов

impl AsFd for File

fn as_fd(&self) -> BorrowedFd<'_>

Заимствует файловый дескриптор. Подробнее

impl AsHandle for File

Доступно только в Windows.

fn as_handle(&self) -> BorrowedHandle<'_>

Доступно только в docsrs и Unix и (функции crate fs или net).
См. std::os::windows::io::AsHandle::as_handle

impl AsRawFd for File

fn as_raw_fd(&self) -> RawFd

Извлекает необработанный файловый дескриптор. Подробнее

impl AsRawHandle for File

Доступно только в Windows.

fn as_raw_handle(&self) -> RawHandle

Доступно только в docsrs и Unix и (функции crate fs или net).
См. std::os::windows::io::AsRawHandle::as_raw_handle

impl AsyncRead for File

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, dst: &mut ReadBuf<'_>, ) -> Poll<Result<()>>

Пытается прочитать из AsyncRead в buf. Подробнее

impl AsyncSeek for File

fn start_seek(self: Pin<&mut Self>, pos: SeekFrom) -> Result<()>

Пытается переместиться на смещение в байтах в потоке. Подробнее

fn poll_complete( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<u64>>

Ожидает завершения операции перемещения. Подробнее

impl AsyncWrite for File

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, src: &[u8], ) -> Poll<Result<usize>>

Попытка записать байты из buf в объект. Подробнее

fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>

Как poll_write, но запись выполняется из среза буферов. Подробнее

fn is_write_vectored(&self) -> bool

Определяет, имеет ли этот объект записи эффективную реализацию poll_write_vectored. Подробнее

fn poll_flush( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>

Пытается сбросить буфер объекта, гарантируя, что все буферизованные данные достигнут места назначения. Подробнее

fn poll_shutdown( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>

Инициирует или пытается завершить работу этого объекта записи; возвращает успешный результат, когда соединение ввода-вывода полностью закрыто. Подробнее

impl Debug for File

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Форматирует значение с помощью указанного форматировщика. Подробнее

impl From<File> for File

fn from(std: StdFile) -> Self

Преобразует входной тип в этот тип.

impl From<NotDefinedHere> for File

Доступно только в Windows.

fn from(handle: OwnedHandle) -> Self

Преобразует входной тип в этот тип.

impl From<OwnedFd> for File

fn from(fd: OwnedFd) -> Self

Преобразует входной тип в этот тип.

impl FromRawFd for File

unsafe fn from_raw_fd(fd: RawFd) -> Self

Создаёт новый экземпляр Self из указанного необработанного файлового дескриптора. Подробнее

impl FromRawHandle for File

Доступно только в Windows.

unsafe fn from_raw_handle(handle: RawHandle) -> Self

Доступно только в docsrs и Unix и (функции crate fs или net).
См. std::os::windows::io::FromRawHandle::from_raw_handle

Реализации автоматических трейтов

impl !Freeze for File

impl !RefUnwindSafe for File

impl !UnwindSafe for File

impl Send for File

impl Sync for File

impl Unpin for File

impl UnsafeUnpin for File

Общие реализации

impl<T> Any for T
where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

Получает TypeId для self. Подробнее

impl<R> AsyncReadExt for R
where R: AsyncRead + ?Sized,

fn chain<R>(self, next: R) -> Chain<Self, R>
where Self: Sized, R: AsyncRead,

Доступно только при включённой функции crate io-util.
Создаёт новый экземпляр AsyncRead, объединяющий этот поток с next. Подробнее

fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Извлекает несколько байтов из этого источника в указанный буфер и возвращает количество прочитанных байтов. Подробнее

fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
where Self: Unpin, B: BufMut + ?Sized,

Доступно только при включённой функции crate io-util.
Извлекает несколько байтов из этого источника в указанный буфер, продвигая внутренний указатель буфера. Подробнее

fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает ровно столько байтов, сколько требуется для заполнения buf. Подробнее

fn read_u8(&mut self) -> ReadU8<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает из нижележащего средства чтения беззнаковое 8-битное целое число. Подробнее

fn read_i8(&mut self) -> ReadI8<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает из нижележащего средства чтения знаковое 8-битное целое число. Подробнее

fn read_u16(&mut self) -> ReadU16<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает из нижележащего средства чтения беззнаковое 16-битное целое число в порядке от старшего байта к младшему. Подробнее

fn read_i16(&mut self) -> ReadI16<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает из нижележащего средства чтения знаковое 16-битное целое число в порядке от старшего байта к младшему. Подробнее

fn read_u32(&mut self) -> ReadU32<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Считывает из нижележащего средства чтения беззнаковое 32-битное целое число в порядке от старшего байта к младшему. Подробнее

fn read_i32(&mut self) -> ReadI32<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает знаковое 32-битное целое число в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_u64(&mut self) -> ReadU64<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает беззнаковое 64-битное целое число в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_i64(&mut self) -> ReadI64<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает знаковое 64-битное целое число в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_u128(&mut self) -> ReadU128<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает беззнаковое 128-битное целое число в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_i128(&mut self) -> ReadI128<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает знаковое 128-битное целое число в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_f32(&mut self) -> ReadF32<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает 32-битное число с плавающей точкой в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_f64(&mut self) -> ReadF64<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает 64-битное число с плавающей точкой в порядке от старшего байта к младшему из базового средства чтения. Подробнее

fn read_u16_le(&mut self) -> ReadU16Le<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает беззнаковое 16-битное целое число в порядке от младшего байта к старшему из базового средства чтения. Подробнее

fn read_i16_le(&mut self) -> ReadI16Le<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает знаковое 16-битное целое число в порядке от младшего байта к старшему из базового средства чтения. Подробнее

fn read_u32_le(&mut self) -> ReadU32Le<&mut Self>
where Self: Unpin,

Доступно только при включённой возможности крейта io-util.
Читает беззнаковое 32-битное целое число в порядке от младшего байта к старшему из базового средства чтения. Подробнее

fn read_i32_le(&mut self) -> ReadI32Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника знаковое 32-битное целое число в порядке байтов от младшего к старшему. Подробнее

fn read_u64_le(&mut self) -> ReadU64Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника беззнаковое 64-битное целое число в порядке байтов от младшего к старшему. Подробнее

fn read_i64_le(&mut self) -> ReadI64Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника знаковое 64-битное целое число в порядке байтов от младшего к старшему. Подробнее

fn read_u128_le(&mut self) -> ReadU128Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника беззнаковое 128-битное целое число в порядке байтов от младшего к старшему. Подробнее

fn read_i128_le(&mut self) -> ReadI128Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника знаковое 128-битное целое число в порядке байтов от младшего к старшему. Подробнее

fn read_f32_le(&mut self) -> ReadF32Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника 32-битное число с плавающей запятой в порядке байтов от младшего к старшему. Подробнее

fn read_f64_le(&mut self) -> ReadF64Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из базового источника 64-битное число с плавающей запятой в порядке байтов от младшего к старшему. Подробнее

fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из этого источника все байты до EOF и помещает их в buf. Подробнее

fn read_to_string<'a>( &'a mut self, dst: &'a mut String, ) -> ReadToString<'a, Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Читает из этого источника все байты до EOF и добавляет их в buf. Подробнее

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Доступно только при включенной функции crate io-util.
Создает адаптер, который считывает из него не более limit байт. Подробнее

impl<S> AsyncSeekExt for S
where S: AsyncSeek + ?Sized,

fn seek(&mut self, pos: SeekFrom) -> Seek<'_, Self>
where Self: Unpin,

Доступно только при включенной функции crate io-util.
Создает future, который выполнит поиск позиции в объекте ввода-вывода, а затем вернет новую позицию в объекте и сам объект. Подробнее

fn rewind(&mut self) -> Seek<'_, Self>
where Self: Unpin,

Доступно только при включенной функции crate io-util.
Создает future, который переместит позицию в начало потока. Подробнее

fn stream_position(&mut self) -> Seek<'_, Self>
where Self: Unpin,

Доступно только при включенной функции crate io-util.
Создает future, который вернет текущую позицию в потоке относительно его начала. Подробнее

impl<W> AsyncWriteExt for W
where W: AsyncWrite + ?Sized,

fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Записывает буфер в этот объект записи и возвращает количество записанных байтов. Подробнее

fn write_vectored<'a, 'b>( &'a mut self, bufs: &'a [IoSlice<'b>], ) -> WriteVectored<'a, 'b, Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Подобно write, но записывает данные из среза буферов. Подробнее

fn write_buf<'a, B>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B>
where Self: Sized + Unpin, B: Buf,

Доступно только при включённой функции крейта io-util.
Записывает буфер в этот объект записи, продвигая внутренний курсор буфера. Подробнее

fn write_all_buf<'a, B>( &'a mut self, src: &'a mut B, ) -> WriteAllBuf<'a, Self, B>
where Self: Sized + Unpin, B: Buf,

Доступно только при включённой функции крейта io-util.
Пытается записать весь буфер в этот объект записи. Подробнее

fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Пытается записать весь буфер в этот объект записи. Подробнее

fn write_u8(&mut self, n: u8) -> WriteU8<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Записывает беззнаковое 8-битное целое число в базовый объект записи. Подробнее

fn write_i8(&mut self, n: i8) -> WriteI8<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Записывает знаковое 8-битное целое число в базовый объект записи. Подробнее

fn write_u16(&mut self, n: u16) -> WriteU16<&mut Self>
where Self: Unpin,

Доступно только при включённой функции крейта io-util.
Записывает беззнаковое 16-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_i16(&mut self, n: i16) -> WriteI16<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 16-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_u32(&mut self, n: u32) -> WriteU32<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 32-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_i32(&mut self, n: i32) -> WriteI32<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 32-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_u64(&mut self, n: u64) -> WriteU64<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 64-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_i64(&mut self, n: i64) -> WriteI64<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 64-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_u128(&mut self, n: u128) -> WriteU128<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 128-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_i128(&mut self, n: i128) -> WriteI128<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 128-битное целое число в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_f32(&mut self, n: f32) -> WriteF32<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает 32-битное число с плавающей точкой в порядке от старшего байта к младшему в базовый объект записи. Подробнее

fn write_f64(&mut self, n: f64) -> WriteF64<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает 64-битное число с плавающей точкой в формате big-endian в базовый объект записи. Подробнее

fn write_u16_le(&mut self, n: u16) -> WriteU16Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 16-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_i16_le(&mut self, n: i16) -> WriteI16Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 16-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_u32_le(&mut self, n: u32) -> WriteU32Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 32-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_i32_le(&mut self, n: i32) -> WriteI32Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 32-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_u64_le(&mut self, n: u64) -> WriteU64Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 64-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_i64_le(&mut self, n: i64) -> WriteI64Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает знаковое 64-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_u128_le(&mut self, n: u128) -> WriteU128Le<&mut Self>
where Self: Unpin,

Доступно только при включённой функции crate io-util.
Записывает беззнаковое 128-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_i128_le(&mut self, n: i128) -> WriteI128Le<&mut Self>
where Self: Unpin,

Доступно только при включённом функциональном флаге crate io-util.
Записывает знаковое 128-битное целое число в формате little-endian в базовый объект записи. Подробнее

fn write_f32_le(&mut self, n: f32) -> WriteF32Le<&mut Self>
where Self: Unpin,

Доступно только при включённом функциональном флаге crate io-util.
Записывает 32-битное число с плавающей точкой в формате little-endian в базовый объект записи. Подробнее

fn write_f64_le(&mut self, n: f64) -> WriteF64Le<&mut Self>
where Self: Unpin,

Доступно только при включённом функциональном флаге crate io-util.
Записывает 64-битное число с плавающей точкой в формате little-endian в базовый объект записи. Подробнее

fn flush(&mut self) -> Flush<'_, Self>
where Self: Unpin,

Доступно только при включённом функциональном флаге crate io-util.
Сбрасывает этот поток вывода, обеспечивая передачу всего содержимого из промежуточных буферов в место назначения. Подробнее

fn shutdown(&mut self) -> Shutdown<'_, Self>
where Self: Unpin,

Доступно только при включённом функциональном флаге crate io-util.
Завершает работу потока вывода, обеспечивая возможность корректно удалить значение. Подробнее

impl<T> Borrow<T> for T
where T: ?Sized,

fn borrow(&self) -> &T

Неизменяемо заимствует принадлежащее значение. Подробнее

impl<T> BorrowMut<T> for T
where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

Мутабельно заимствует принадлежащее значение. Подробнее

impl<T> From<T> for T

fn from(t: T) -> T

Возвращает аргумент без изменений.

impl<T> Instrument for T

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью указанного Span, возвращая обёртку Instrumented. Подробнее

fn in_current_span(self) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью текущего Span, возвращая обёртку Instrumented. Подробнее

impl<T, U> Into<U> for T
where U: From<T>,

fn into(self) -> U

Вызывает U::from(self).

То есть это преобразование выполняется так, как того требует реализация From<T> for U.

impl<T, U> TryFrom<U> for T
where U: Into<T>,

type Error = Infallible

Тип, возвращаемый в случае ошибки преобразования.

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Выполняет преобразование.

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error

Тип, возвращаемый в случае ошибки преобразования.

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Выполняет преобразование.

impl<T> WithSubscriber for T

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Присоединяет предоставленный Subscriber к этому типу, возвращая обёртку WithDispatch. Подробнее

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Присоединяет текущий подписчик по умолчанию Subscriber к этому типу, возвращая обёртку WithDispatch. Подробнее

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/fs/struct.File.html

Spec-Zone.ru

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