ariel_os::reexports::embassy_net::tcp

Struct TcpWriter

pub struct TcpWriter<'a> { /* private fields */ }
Available on crate feature tcp only.
Expand description

The writer half of a TCP socket.

Implementations§

§

impl<'a> TcpWriter<'a>

pub fn wait_write_ready(&self) -> impl Future<Output = ()>

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.

pub fn write<'s>( &'s mut self, buf: &'s [u8], ) -> impl Future<Output = Result<usize, Error>> + 's

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.

pub fn flush(&mut self) -> impl Future<Output = 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.

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.

pub fn send_capacity(&self) -> usize

Return the maximum number of bytes inside the transmit buffer.

pub fn send_queue(&self) -> usize

Return the amount of octets queued in the transmit buffer.

Trait Implementations§

§

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

§

type Error = Error

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

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

§

async fn write( &mut self, buf: &[u8], ) -> Result<usize, <TcpWriter<'d> as ErrorType>::Error>

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

async fn flush(&mut self) -> Result<(), <TcpWriter<'d> as ErrorType>::Error>

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

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

Write an entire buffer into this writer. Read more
§

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

§

fn write_ready(&mut self) -> Result<bool, <TcpWriter<'d> as ErrorType>::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.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

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

§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V