Spec-Zone.ru › Tokio

Структура WriteHalf

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

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

Обратите внимание: в реализации AsyncWrite для этого типа вызов poll_shutdown завершит работу потока UnixStream в направлении записи.

Запись в WriteHalf обычно выполняется с помощью удобных методов, предоставляемых трейтом AsyncWriteExt.

Реализации

impl WriteHalf<'_>

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

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

Эта функция обычно используется в паре с try_write(). Её можно использовать вместо writable(), чтобы проверить, содержит ли возвращённый набор готовности события Ready::WRITABLE и Ready::WRITE_CLOSED.

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

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

Безопасность отмены

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

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

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

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

Безопасность отмены

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

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

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

Функция попытается записать всё содержимое buf, однако может быть записана только часть буфера.

Эта функция обычно используется в паре с writable().

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

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

pub fn try_write_vectored(&self, buf: &[IoSlice<'_>]) -> Result<usize>

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

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

Эта функция обычно используется в паре с writable().

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

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

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

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

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

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

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

impl AsRef<UnixStream> for WriteHalf<'_>

fn as_ref(&self) -> &UnixStream

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

impl AsyncWrite for WriteHalf<'_>

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>>

Как и 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<'a> Debug for WriteHalf<'a>

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

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

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

impl<'a> Freeze for WriteHalf<'a>

impl<'a> RefUnwindSafe for WriteHalf<'a>

impl<'a> Send for WriteHalf<'a>

impl<'a> Sync for WriteHalf<'a>

impl<'a> Unpin for WriteHalf<'a>

impl<'a> UnsafeUnpin for WriteHalf<'a>

impl<'a> UnwindSafe for WriteHalf<'a>

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

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

fn type_id(&self) -> TypeId

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

impl<W> AsyncWriteExt для 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,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доступно только при включённой возможности крейта 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/net/unix/struct.WriteHalf.html

Spec-Zone.ru

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