Struct nrf_modem::TcpStream

source ·
pub struct TcpStream { /* private fields */ }
Expand description

A TCP stream that is connected to another endpoint

Implementations§

source§

impl TcpStream

source

pub async fn connect(addr: impl ToSocketAddrs) -> Result<Self, Error>

Connect a TCP stream to the given address

source

pub async fn connect_with_cancellation( addr: impl ToSocketAddrs, token: &CancellationToken, ) -> Result<Self, Error>

Connect a TCP stream to the given address

source

pub fn as_raw_fd(&self) -> i32

Get the raw underlying file descriptor for when you need to interact with the nrf libraries directly

source

pub async fn split_owned( self, ) -> Result<(OwnedTcpReadStream, OwnedTcpWriteStream), Error>

Split the stream into an owned read and write half

source

pub fn split(&self) -> (TcpReadStream<'_>, TcpWriteStream<'_>)

Split the stream into a borrowed read and write half

source

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

Try fill the given buffer with the data that has been received. The written part of the buffer is returned.

source

pub async fn receive_with_cancellation<'buf>( &self, buf: &'buf mut [u8], token: &CancellationToken, ) -> Result<&'buf mut [u8], Error>

Try fill the given buffer with the data that has been received. The written part of the buffer is returned.

source

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

Fill the entire buffer with data that has been received. This will wait as long as necessary to fill up the buffer.

If there’s an error while receiving, then the error is returned as well as the part of the buffer that was partially filled with received data.

source

pub async fn receive_exact_with_cancellation<'buf>( &self, buf: &'buf mut [u8], token: &CancellationToken, ) -> Result<(), (Error, &'buf mut [u8])>

Fill the entire buffer with data that has been received. This will wait as long as necessary to fill up the buffer.

If there’s an error while receiving, then the error is returned as well as the part of the buffer that was partially filled with received data.

source

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

Write the entire buffer to the stream

source

pub async fn write_with_cancellation( &self, buf: &[u8], token: &CancellationToken, ) -> Result<(), Error>

Write the entire buffer to the stream

source

pub async fn deactivate(self) -> Result<(), Error>

Deactivates the socket and the LTE link. A normal drop will do the same thing, but blocking.

Auto Trait Implementations§

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

§

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

§

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.