TcpStream

Struct TcpStream 

Source
pub struct TcpStream { /* private fields */ }
Expand description

A TCP stream between a local and a remote socket.

This corresponds to async_std::net::TcpStream.

This TcpStream has no connect method. To create a TcpStream, first obtain a Pool permitting the address, and then call Pool::connect_tcp_stream.

Implementations§

Source§

impl TcpStream

Source

pub fn from_std(std: TcpStream) -> Self

Constructs a new instance of Self from the given async_std::net::TcpStream.

This grants access the resources the async_std::net::TcpStream instance already has access to.

Source

pub fn peer_addr(&self) -> Result<SocketAddr>

Returns the remote address that this stream is connected to.

This corresponds to async_std::net::TcpStream::peer_addr.

Source

pub fn local_addr(&self) -> Result<SocketAddr>

Returns the local socket address of this listener.

This corresponds to async_std::net::TcpStream::local_addr.

Source

pub fn shutdown(&self, how: Shutdown) -> Result<()>

Shuts down the read, write, or both halves of this connection.

This corresponds to async_std::net::TcpStream::shutdown.

Source

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

Receives data on the socket from the remote address to which it is connected, without removing that data from the queue.

This corresponds to async_std::net::TcpStream::peek.

Source

pub fn set_nodelay(&self, nodelay: bool) -> Result<()>

Sets the value of the TCP_NODELAY option on this socket.

This corresponds to async_std::net::TcpStream::set_nodelay.

Source

pub fn nodelay(&self) -> Result<bool>

Gets the value of the TCP_NODELAY option on this socket.

This corresponds to async_std::net::TcpStream::nodelay.

Source

pub fn set_ttl(&self, ttl: u32) -> Result<()>

Sets the value for the IP_TTL option on this socket.

This corresponds to async_std::net::TcpStream::set_ttl.

Source

pub fn ttl(&self) -> Result<u32>

Gets the value of the IP_TTL option for this socket.

This corresponds to async_std::net::TcpStream::ttl.

Trait Implementations§

Source§

impl AsHandleOrSocket for TcpStream

Available on Windows only.
Source§

impl AsRawHandleOrSocket for TcpStream

Available on Windows only.
Source§

impl AsRawSocket for TcpStream

Available on Windows only.
Source§

fn as_raw_socket(&self) -> RawSocket

Extracts the raw socket. Read more
Source§

impl AsSocket for TcpStream

Available on Windows only.
Source§

fn as_socket(&self) -> BorrowedSocket<'_>

Borrows the socket.
Source§

impl Clone for TcpStream

Source§

fn clone(&self) -> TcpStream

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TcpStream

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<OwnedSocket> for TcpStream

Available on Windows only.
Source§

fn from(socket: OwnedSocket) -> Self

Converts to this type from the input type.
Source§

impl From<TcpStream> for OwnedHandleOrSocket

Available on Windows only.
Source§

fn from(stream: TcpStream) -> Self

Converts to this type from the input type.
Source§

impl From<TcpStream> for OwnedSocket

Available on Windows only.
Source§

fn from(stream: TcpStream) -> OwnedSocket

Converts to this type from the input type.
Source§

impl FromRawSocket for TcpStream

Available on Windows only.
Source§

unsafe fn from_raw_socket(socket: RawSocket) -> Self

Constructs a new I/O object from the specified raw socket. Read more
Source§

impl IntoRawHandleOrSocket for TcpStream

Available on Windows only.
Source§

impl IntoRawSocket for TcpStream

Available on Windows only.
Source§

fn into_raw_socket(self) -> RawSocket

Consumes this object, returning the raw underlying socket. Read more
Source§

impl AsyncRead for &TcpStream

Source§

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into buf. Read more
Source§

fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into bufs using vectored IO operations. Read more
Source§

impl AsyncRead for TcpStream

Source§

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into buf. Read more
Source§

fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into bufs using vectored IO operations. Read more
Source§

impl AsyncWrite for &TcpStream

Source§

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>

Attempt to write bytes from buf into the object. Read more
Source§

fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Source§

fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempt to close the object. Read more
Source§

fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>

Attempt to write bytes from bufs into the object using vectored IO operations. Read more
Source§

impl AsyncWrite for TcpStream

Source§

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>

Attempt to write bytes from buf into the object. Read more
Source§

fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Source§

fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempt to close the object. Read more
Source§

fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>

Attempt to write bytes from bufs into the object using vectored IO operations. Read more
Source§

impl SocketlikeViewType for TcpStream

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> AsFd for T
where T: AsSocket,

Source§

fn as_fd(&self) -> BorrowedSocket<'_>

An as_fd function for Winsock, where an Fd is a Socket.
Source§

impl<T> AsGrip for T

Source§

fn as_grip(&self) -> BorrowedHandleOrSocket<'_>

Extracts the grip.
Source§

impl<T> AsRawFd for T
where T: AsRawSocket,

Source§

fn as_raw_fd(&self) -> u32

A version of as_raw_fd for use with Winsock API.
Source§

impl<T> AsRawGrip for T

Source§

fn as_raw_grip(&self) -> RawHandleOrSocket

Extracts the raw grip.
Source§

impl<T> AsRawSocketlike for T
where T: AsRawSocket,

Source§

fn as_raw_socketlike(&self) -> u32

Returns the raw value.
Source§

impl<T> AsSocketlike for T
where T: AsSocket,

Source§

fn as_socketlike(&self) -> BorrowedSocket<'_>

Borrows the reference.
Source§

fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>
where Target: SocketlikeViewType,

Return a borrowing view of a resource which dereferences to a &Target. Read more
Source§

impl<T> AsSource for T
where T: AsSocket,

Source§

fn source(&self) -> BorrowedSocket<'_>

Returns the borrowed socket.
Source§

impl<R> AsyncReadExt for R
where R: AsyncRead + ?Sized,

Source§

fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>
where Self: Unpin,

Reads some bytes from the byte stream. Read more
Source§

fn read_vectored<'a>( &'a mut self, bufs: &'a mut [IoSliceMut<'a>], ) -> ReadVectoredFuture<'a, Self>
where Self: Unpin,

Like read(), except it reads into a slice of buffers. Read more
Source§

fn read_to_end<'a>( &'a mut self, buf: &'a mut Vec<u8>, ) -> ReadToEndFuture<'a, Self>
where Self: Unpin,

Reads the entire contents and appends them to a Vec. Read more
Source§

fn read_to_string<'a>( &'a mut self, buf: &'a mut String, ) -> ReadToStringFuture<'a, Self>
where Self: Unpin,

Reads the entire contents and appends them to a String. Read more
Source§

fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>
where Self: Unpin,

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

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Creates an adapter which will read at most limit bytes from it. Read more
Source§

fn bytes(self) -> Bytes<Self>
where Self: Sized,

Converts this AsyncRead into a Stream of bytes. Read more
Source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where R: AsyncRead, Self: Sized,

Creates an adapter which will chain this stream with another. Read more
Source§

fn boxed_reader<'a>(self) -> Pin<Box<dyn AsyncRead + Send + 'a>>
where Self: Sized + Send + 'a,

Boxes the reader and changes its type to dyn AsyncRead + Send + 'a. Read more
Source§

impl<W> AsyncWriteExt for W
where W: AsyncWrite + ?Sized,

Source§

fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>
where Self: Unpin,

Writes some bytes into the byte stream. Read more
Source§

fn write_vectored<'a>( &'a mut self, bufs: &'a [IoSlice<'a>], ) -> WriteVectoredFuture<'a, Self>
where Self: Unpin,

Like write(), except that it writes a slice of buffers. Read more
Source§

fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAllFuture<'a, Self>
where Self: Unpin,

Writes an entire buffer into the byte stream. Read more
Source§

fn flush(&mut self) -> FlushFuture<'_, Self>
where Self: Unpin,

Flushes the stream to ensure that all buffered contents reach their destination. Read more
Source§

fn close(&mut self) -> CloseFuture<'_, Self>
where Self: Unpin,

Closes the writer. Read more
Source§

fn boxed_writer<'a>(self) -> Pin<Box<dyn AsyncWrite + Send + 'a>>
where Self: Sized + Send + 'a,

Boxes the writer and changes its type to dyn AsyncWrite + Send + 'a. 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRawFd for T
where T: FromRawSocket,

Source§

unsafe fn from_raw_fd(raw_fd: u32) -> T

A version of from_raw_fd for use with Winsock API. Read more
Source§

impl<T> FromRawSocketlike for T
where T: FromRawSocket,

Source§

unsafe fn from_raw_socketlike(raw: u32) -> T

Constructs Self from the raw value.
Source§

impl<T> FromSocket for T
where T: From<OwnedSocket>,

Source§

fn from_socket(owned_socket: OwnedSocket) -> T

👎Deprecated since 1.0.0: FromSocket::from_socket is replaced by From<OwnedSocket>::from
Constructs a new instance of Self from the given socket.
Source§

fn from_into_socket<Owned>(into_owned: Owned) -> Self
where Owned: Into<OwnedSocket>, Self: Sized + From<OwnedSocket>,

Constructs a new instance of Self from the given socket converted from into_owned.
Source§

impl<T> FromSocketlike for T
where T: From<OwnedSocket>,

Source§

fn from_socketlike(owned: OwnedSocket) -> T

Constructs a new instance of Self from the given socketlike object.
Source§

fn from_into_socketlike<Owned>(owned: Owned) -> T
where Owned: IntoSocketlike,

Constructs a new instance of Self from the given socketlike object converted from into_owned.
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> IntoGrip for T

Source§

fn into_grip(self) -> OwnedHandleOrSocket

Consume self and convert into an OwnedGrip.
Source§

impl<T> IntoRawFd for T
where T: IntoRawSocket,

Source§

fn into_raw_fd(self) -> u32

A version of into_raw_fd for use with Winsock API.
Source§

impl<T> IntoRawGrip for T

Source§

fn into_raw_grip(self) -> RawHandleOrSocket

Consume self and convert into an RawGrip.
Source§

impl<T> IntoRawSocketlike for T
where T: IntoRawSocket,

Source§

fn into_raw_socketlike(self) -> u32

Returns the raw value.
Source§

impl<T> IntoSocket for T
where OwnedSocket: From<T>,

Source§

fn into_socket(self) -> OwnedSocket

👎Deprecated since 1.0.0: IntoSocket is replaced by From<...> for OwnedSocket or Into<OwnedSocket>
Consumes this object, returning the underlying socket.
Source§

impl<T> IntoSocketlike for T
where T: Into<OwnedSocket>,

Source§

fn into_socketlike(self) -> OwnedSocket

Consumes this object, returning the underlying socketlike object. Read more
Source§

impl<T> ReadExt for T
where T: AsyncRead + ?Sized,

Source§

fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>
where Self: Unpin,

Reads some bytes from the byte stream. Read more
Source§

fn read_vectored<'a>( &'a mut self, bufs: &'a mut [IoSliceMut<'a>], ) -> ReadVectoredFuture<'a, Self>
where Self: Unpin,

Like read, except that it reads into a slice of buffers. Read more
Source§

fn read_to_end<'a>( &'a mut self, buf: &'a mut Vec<u8>, ) -> ReadToEndFuture<'a, Self>
where Self: Unpin,

Reads all bytes from the byte stream. Read more
Source§

fn read_to_string<'a>( &'a mut self, buf: &'a mut String, ) -> ReadToStringFuture<'a, Self>
where Self: Unpin,

Reads all bytes from the byte stream and appends them into a string. Read more
Source§

fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>
where Self: Unpin,

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

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Creates an adaptor which will read at most limit bytes from it. Read more
Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adaptor for this instance of Read. Read more
Source§

fn bytes(self) -> Bytes<Self>
where Self: Sized,

Transforms this Read instance to a Stream over its bytes. Read more
Source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where R: AsyncRead, Self: Sized,

Creates an adaptor which will chain this stream with another. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WriteExt for T
where T: AsyncWrite + ?Sized,

Source§

fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>
where Self: Unpin,

Writes some bytes into the byte stream. Read more
Source§

fn flush(&mut self) -> FlushFuture<'_, Self>
where Self: Unpin,

Flushes the stream to ensure that all buffered contents reach their destination. Read more
Source§

fn write_vectored<'a>( &'a mut self, bufs: &'a [IoSlice<'a>], ) -> WriteVectoredFuture<'a, Self>
where Self: Unpin,

Like write, except that it writes from a slice of buffers. Read more
Source§

fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAllFuture<'a, Self>
where Self: Unpin,

Writes an entire buffer into the byte stream. Read more
Source§

fn write_fmt<'a>(&'a mut self, fmt: Arguments<'_>) -> WriteFmtFuture<'a, Self>
where Self: Unpin,

Writes a formatted string into this writer, returning any error encountered. Read more