Spec-Zone.ru › Tokio

Структура SimplexStream

pub struct SimplexStream { /* private fields */ }
Доступно только при включённой функции крейта io-util.

Однонаправленный канал для чтения и записи байтов в памяти.

Его можно создать с помощью функции simplex, которая создаёт пару — читатель и писатель, или вызвав SimplexStream::new_unsplit, которая создаёт дескриптор для чтения и записи.

Пример

let (mut receiver, mut sender) = tokio::io::simplex(64);

sender.write_all(b"ping").await?;

let mut buf = [0u8; 4];
receiver.read_exact(&mut buf).await?;
assert_eq!(&buf, b"ping");

Реализации

impl SimplexStream

pub fn new_unsplit(max_buf_size: usize) -> SimplexStream

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

Аргумент max_buf_size задаёт максимальное количество байтов, которое можно записать в буфер, прежде чем он вернёт Poll::Pending.

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

impl AsyncRead for SimplexStream

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

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

impl AsyncWrite for SimplexStream

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[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>, _: &mut Context<'_>) -> Poll<Result<()>>

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

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

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

impl Debug for SimplexStream

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

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

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

impl Freeze for SimplexStream

impl RefUnwindSafe for SimplexStream

impl Send for SimplexStream

impl Sync for SimplexStream

impl Unpin for SimplexStream

impl UnsafeUnpin for SimplexStream

impl UnwindSafe for SimplexStream

Обобщённые реализации

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,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доступно только при включенной функции crate 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,

Доступно только при включенной функции crate 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,

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

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

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

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

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

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

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

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

Доступно только при включенной функции crate 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-битное число с плавающей точкой в порядке от старшего байта к младшему во внутренний объект записи. Подробнее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доступно только при включённой функции крейта 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/io/struct.SimplexStream.html

Spec-Zone.ru

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