ariel_os::reexports::embassy_net::tcp::client

Struct TcpClient

pub struct TcpClient<'d, const N: usize, const TX_SZ: usize = 1024, const RX_SZ: usize = 1024> { /* private fields */ }
Available on crate feature tcp only.
Expand description

TCP client connection pool compatible with embedded-nal-async traits.

The pool is capable of managing up to N concurrent connections with tx and rx buffers according to TX_SZ and RX_SZ.

Implementations§

§

impl<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize> TcpClient<'d, N, TX_SZ, RX_SZ>

pub fn new( stack: Stack<'d>, state: &'d TcpClientState<N, TX_SZ, RX_SZ>, ) -> TcpClient<'d, N, TX_SZ, RX_SZ>

Create a new TcpClient.

pub fn set_timeout(&mut self, timeout: Option<Duration>)

Set the timeout for each socket created by this TcpClient.

If the timeout is set, the socket will be closed if no data is received for the specified duration.

Trait Implementations§

§

impl<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize> TcpConnect for TcpClient<'d, N, TX_SZ, RX_SZ>

§

type Error = Error

Error type returned on connect failure.
§

type Connection<'m> = TcpConnection<'m, N, TX_SZ, RX_SZ> where TcpClient<'d, N, TX_SZ, RX_SZ>: 'm

Type holding state of a TCP connection. Should close the connection when dropped.
§

async fn connect<'a>( &'a self, remote: SocketAddr, ) -> Result<<TcpClient<'d, N, TX_SZ, RX_SZ> as TcpConnect>::Connection<'a>, <TcpClient<'d, N, TX_SZ, RX_SZ> as TcpConnect>::Error>

Connect to the given remote host and port. Read more

Auto Trait Implementations§

§

impl<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize> Freeze for TcpClient<'d, N, TX_SZ, RX_SZ>

§

impl<'d, const N: usize, const TX_SZ: usize = 1024, const RX_SZ: usize = 1024> !RefUnwindSafe for TcpClient<'d, N, TX_SZ, RX_SZ>

§

impl<'d, const N: usize, const TX_SZ: usize = 1024, const RX_SZ: usize = 1024> !Send for TcpClient<'d, N, TX_SZ, RX_SZ>

§

impl<'d, const N: usize, const TX_SZ: usize = 1024, const RX_SZ: usize = 1024> !Sync for TcpClient<'d, N, TX_SZ, RX_SZ>

§

impl<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize> Unpin for TcpClient<'d, N, TX_SZ, RX_SZ>

§

impl<'d, const N: usize, const TX_SZ: usize = 1024, const RX_SZ: usize = 1024> !UnwindSafe for TcpClient<'d, N, TX_SZ, RX_SZ>

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