Struct 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: SocketAddr) -> Result<Self, Error>

Connect a TCP stream to the given address

Source

pub async fn connect_with_cancellation( addr: SocketAddr, 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.

Trait Implementations§

Source§

impl ErrorType for TcpStream

Source§

type Error = Error

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

impl Read for TcpStream

Source§

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

Read some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§

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

Read the exact number of bytes required to fill buf. Read more
Source§

impl Write for TcpStream

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

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

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.