Spec-Zone.ru › Tokio

Структура ReadHalf

pub struct ReadHalf<'a>(/* private fields */);
Доступно только в Unix и при включённой функции crate net.

Заимствованная читающая половина UnixStream, созданная с помощью split.

Для чтения из ReadHalf обычно используют удобные методы, предоставляемые трейтом AsyncReadExt.

Реализации

impl ReadHalf<'_>

pub async fn ready(&self, interest: Interest) -> Result<Ready>

Ожидает наступления любого из запрошенных состояний готовности.

Эта функция обычно используется вместе с try_read(). Её можно использовать вместо readable(), чтобы проверить возвращённый набор состояний готовности на наличие событий Ready::READABLE и Ready::READ_CLOSED.

Функция может завершиться, даже если сокет не готов. Это ложное срабатывание, и попытка выполнить операцию вернёт io::ErrorKind::WouldBlock. Функция также может вернуть пустой набор Ready, поэтому всегда проверяйте возвращённое значение и при необходимости ожидайте повторно, если запрошенные состояния не установлены.

Эта функция эквивалентна UnixStream::ready.

Безопасность при отмене

Этот метод безопасен при отмене. После возникновения события готовности метод будет сразу возвращаться, пока событие готовности не будет потреблено попыткой чтения или записи, завершившейся с WouldBlock или Poll::Pending.

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

Ожидает, пока сокет не станет доступен для чтения.

Эта функция эквивалентна ready(Interest::READABLE) и обычно используется вместе с try_read().

Безопасность при отмене

Этот метод безопасен при отмене. После возникновения события готовности метод будет сразу возвращаться, пока событие готовности не будет потреблено попыткой чтения, завершившейся с WouldBlock или Poll::Pending.

pub fn try_read(&self, buf: &mut [u8]) -> Result<usize>

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

Получает все ожидающие данные из сокета, но не ждёт поступления новых данных. В случае успеха возвращает количество прочитанных байтов. Поскольку try_read() не блокируется, буфер не нужно хранить в асинхронной задаче — он может целиком находиться в стеке.

Обычно эта функция используется вместе с readable() или ready().

Возвращаемое значение

Если данные успешно прочитаны, возвращается Ok(n), где n — количество прочитанных байтов. Если n равно 0, это может означать один из двух сценариев:

  1. Половина потока для чтения закрыта и больше не будет выдавать данные.
  2. Длина указанного буфера равна 0 байтам.

Если поток не готов к чтению данных, возвращается Err(io::ErrorKind::WouldBlock).

pub fn try_read_buf<B: BufMut>(&self, buf: &mut B) -> Result<usize>

Доступно только при включённой возможности крейта io-util.

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

Получает все ожидающие данные из сокета, но не ждёт поступления новых данных. В случае успеха возвращает количество прочитанных байтов. Поскольку try_read_buf() не блокируется, буфер не нужно хранить в асинхронной задаче — он может целиком находиться в стеке.

Обычно эта функция используется вместе с readable() или ready().

Возвращаемое значение

Если данные успешно прочитаны, возвращается Ok(n), где n — количество прочитанных байтов. Ok(0) означает, что половина потока для чтения закрыта и больше не будет выдавать данные. Если поток не готов к чтению данных

pub fn try_read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>

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

Данные копируются в буферы по порядку; последний буфер может быть заполнен лишь частично. Этот метод эквивалентен одному вызову try_read() с объединёнными буферами.

Получает все ожидающие данные из сокета, но не ждёт поступления новых данных. В случае успеха возвращает количество прочитанных байтов. Поскольку try_read_vectored() работает в неблокирующем режиме, буфер не нужно хранить в асинхронной задаче — он может целиком находиться в стеке.

Обычно эта функция используется вместе с readable() или ready().

Возвращаемое значение

Если данные успешно прочитаны, возвращается Ok(n), где n — количество прочитанных байтов. Ok(0) означает, что читающая половина потока закрыта и больше не будет выдавать данные. Если поток не готов к чтению данных, возвращается Err(io::ErrorKind::WouldBlock).

pub fn peer_addr(&self) -> Result<SocketAddr>

Возвращает адрес сокета удалённой стороны этого соединения.

pub fn local_addr(&self) -> Result<SocketAddr>

Возвращает адрес сокета локальной стороны этого соединения.

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

impl AsRef<UnixStream> for ReadHalf<'_>

fn as_ref(&self) -> &UnixStream

Преобразует это значение в общую ссылку на входной тип (обычно выводимый).

impl AsyncRead for ReadHalf<'_>

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

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

impl<'a> Debug for ReadHalf<'a>

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

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

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

impl<'a> Freeze for ReadHalf<'a>

impl<'a> RefUnwindSafe for ReadHalf<'a>

impl<'a> Send for ReadHalf<'a>

impl<'a> Sync for ReadHalf<'a>

impl<'a> Unpin for ReadHalf<'a>

impl<'a> UnsafeUnpin for ReadHalf<'a>

impl<'a> UnwindSafe for ReadHalf<'a>

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

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,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/net/unix/struct.ReadHalf.html

Spec-Zone.ru

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