Spec-Zone.ru › Tokio

Структура OwnedWriteHalf

pub struct OwnedWriteHalf { /* private fields */ }
Доступно только на Unix и при включённой возможности crate net.

Владеющая половина для записи из UnixStream, созданная с помощью into_split.

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

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

Реализации

impl OwnedWriteHalf

pub fn reunite(self, other: OwnedReadHalf) -> Result<UnixStream, ReuniteError>

Пытается объединить две половины UnixStream и восстановить исходный сокет. Операция завершается успешно, только если обе половины были получены в результате одного вызова into_split.

pub fn forget(self)

Уничтожает половину для записи, но не закрывает её до тех пор, пока не будет уничтожена половина для чтения. Если половина для чтения уже уничтожена, поток закрывается.

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 OwnedWriteHalf

fn as_ref(&self) -> &UnixStream

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

impl AsyncWrite for OwnedWriteHalf

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 Debug for OwnedWriteHalf

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

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

impl Drop for OwnedWriteHalf

fn drop(&mut self)

Выполняет деструктор этого типа. Подробнее

fn pin_drop(self: Pin<&mut Self>)

🔬Это экспериментальный API, доступный только в nightly-версии. (pin_ergonomics)
Выполняет деструктор этого типа, но, в отличие от Drop::drop, требует, чтобы self был закреплён. Подробнее

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

impl Freeze for OwnedWriteHalf

impl RefUnwindSafe for OwnedWriteHalf

impl Send for OwnedWriteHalf

impl Sync for OwnedWriteHalf

impl Unpin for OwnedWriteHalf

impl UnsafeUnpin for OwnedWriteHalf

impl UnwindSafe for OwnedWriteHalf

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

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

fn type_id(&self) -> TypeId

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

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,

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

Spec-Zone.ru

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