embassy-net

Crates

git

Versions

default

Flavors

embassy_net::tcp

Struct TcpWriter

Source
pub struct TcpWriter<'a> { /* private fields */ }
Expand description

The writer half of a TCP socket.

Implementations§

Source§

impl<'a> TcpWriter<'a>

Source

pub async fn wait_write_ready(&self)

Wait until the socket becomes writable.

A socket becomes writable when the transmit half of the full-duplex connection is open (see may_send()), and the transmit buffer is not full.

This is the equivalent of write, without sending any data.

Source

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

Write data to the socket.

Returns how many bytes were written, or an error. If the socket is not ready to accept data, it waits until it is.

Source

pub async fn flush(&mut self) -> Result<(), Error>

Flushes the written data to the socket.

This waits until all data has been sent, and ACKed by the remote host. For a connection closed with abort() it will wait for the TCP RST packet to be sent.

Source

pub async fn write_with<F, R>(&mut self, f: F) -> Result<R, Error>
where F: FnOnce(&mut [u8]) -> (usize, R),

Call f with the largest contiguous slice of octets in the transmit buffer, and enqueue the amount of elements returned by f.

If the socket is not ready to accept data, it waits until it is.

Source

pub fn send_capacity(&self) -> usize

Return the maximum number of bytes inside the transmit buffer.

Source

pub fn send_queue(&self) -> usize

Return the amount of octets queued in the transmit buffer.

Trait Implementations§

Source§

impl<'d> ErrorType for TcpWriter<'d>

Source§

type Error = Error

Error type of all the IO operations on this type.
Source§

impl<'d> Write for TcpWriter<'d>

Source§

async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>

Write a buffer into this writer, returning how many bytes were written. Read more
Source§

async fn flush(&mut self) -> Result<(), Self::Error>

Flush this output stream, ensuring that all intermediately buffered contents reach their destination.
Source§

async fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error>

Write an entire buffer into this writer. Read more
Source§

impl<'d> WriteReady for TcpWriter<'d>

Source§

fn write_ready(&mut self) -> Result<bool, Self::Error>

Get whether the writer is ready for immediately writing. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for TcpWriter<'a>

§

impl<'a> !RefUnwindSafe for TcpWriter<'a>

§

impl<'a> !Send for TcpWriter<'a>

§

impl<'a> !Sync for TcpWriter<'a>

§

impl<'a> Unpin for TcpWriter<'a>

§

impl<'a> !UnwindSafe for TcpWriter<'a>

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.