pub struct TcpStream { /* private fields */ }
Expand description
A TCP stream between a local and a remote socket.
This corresponds to 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
sourceimpl TcpStream
impl TcpStream
sourcepub fn from_std(std: TcpStream) -> Self
pub fn from_std(std: TcpStream) -> Self
Constructs a new instance of Self
from the given
std::net::TcpStream
.
This grants access the resources the std::net::TcpStream
instance
already has access to.
sourcepub fn peer_addr(&self) -> Result<SocketAddr>
pub fn peer_addr(&self) -> Result<SocketAddr>
Returns the socket address of the remote peer of this TCP connection.
This corresponds to std::net::TcpStream::peer_addr
.
sourcepub fn local_addr(&self) -> Result<SocketAddr>
pub fn local_addr(&self) -> Result<SocketAddr>
Returns the local socket address of this listener.
This corresponds to std::net::TcpStream::local_addr
.
sourcepub fn shutdown(&self, how: Shutdown) -> Result<()>
pub fn shutdown(&self, how: Shutdown) -> Result<()>
Shuts down the read, write, or both halves of this connection.
This corresponds to std::net::TcpStream::shutdown
.
sourcepub fn try_clone(&self) -> Result<Self>
pub fn try_clone(&self) -> Result<Self>
Creates a new independently owned handle to the underlying socket.
This corresponds to std::net::TcpStream::try_clone
.
sourcepub fn set_read_timeout(&self, dur: Option<Duration>) -> Result<()>
pub fn set_read_timeout(&self, dur: Option<Duration>) -> Result<()>
Sets the read timeout to the timeout specified.
This corresponds to std::net::TcpStream::set_read_timeout
.
sourcepub fn set_write_timeout(&self, dur: Option<Duration>) -> Result<()>
pub fn set_write_timeout(&self, dur: Option<Duration>) -> Result<()>
Sets the write timeout to the timeout specified.
This corresponds to std::net::TcpStream::set_write_timeout
.
sourcepub fn read_timeout(&self) -> Result<Option<Duration>>
pub fn read_timeout(&self) -> Result<Option<Duration>>
Returns the read timeout of this socket.
This corresponds to std::net::TcpStream::read_timeout
.
sourcepub fn write_timeout(&self) -> Result<Option<Duration>>
pub fn write_timeout(&self) -> Result<Option<Duration>>
Returns the write timeout of this socket.
This corresponds to std::net::TcpStream::write_timeout
.
sourcepub fn peek(&self, buf: &mut [u8]) -> Result<usize>
pub 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 std::net::TcpStream::peek
.
sourcepub fn set_nodelay(&self, nodelay: bool) -> Result<()>
pub fn set_nodelay(&self, nodelay: bool) -> Result<()>
Sets the value of the TCP_NODELAY
option on this socket.
This corresponds to std::net::TcpStream::set_nodelay
.
sourcepub fn nodelay(&self) -> Result<bool>
pub fn nodelay(&self) -> Result<bool>
Gets the value of the TCP_NODELAY
option on this socket.
This corresponds to std::net::TcpStream::nodelay
.
sourcepub fn set_ttl(&self, ttl: u32) -> Result<()>
pub fn set_ttl(&self, ttl: u32) -> Result<()>
Sets the value for the IP_TTL
option on this socket.
This corresponds to std::net::TcpStream::set_ttl
.
sourcepub fn ttl(&self) -> Result<u32>
pub fn ttl(&self) -> Result<u32>
Gets the value of the IP_TTL
option for this socket.
This corresponds to std::net::TcpStream::ttl
.
sourcepub fn take_error(&self) -> Result<Option<Error>>
pub fn take_error(&self) -> Result<Option<Error>>
Gets the value of the SO_ERROR
option on this socket.
This corresponds to std::net::TcpStream::take_error
.
sourcepub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>
pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>
Moves this TCP stream into or out of nonblocking mode.
This corresponds to std::net::TcpStream::set_nonblocking
.
Trait Implementations
sourceimpl AsRawHandleOrSocket for TcpStream
Available on Windows only.
impl AsRawHandleOrSocket for TcpStream
sourcefn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
AsRawHandle::as_raw_handle
and AsRawSocket::as_raw_socket
but can return either type. Read moresourceimpl AsRawSocket for TcpStream
Available on Windows only.
impl AsRawSocket for TcpStream
sourcefn as_raw_socket(&self) -> RawSocket
fn as_raw_socket(&self) -> RawSocket
sourceimpl AsSocket for TcpStream
Available on Windows only.
impl AsSocket for TcpStream
sourcefn as_socket(&self) -> BorrowedSocket<'_>
fn as_socket(&self) -> BorrowedSocket<'_>
sourceimpl FromRawSocket for TcpStream
Available on Windows only.
impl FromRawSocket for TcpStream
sourceunsafe fn from_raw_socket(socket: RawSocket) -> Self
unsafe fn from_raw_socket(socket: RawSocket) -> Self
sourceimpl FromSocket for TcpStream
Available on Windows only.
impl FromSocket for TcpStream
sourcefn from_socket(socket: OwnedSocket) -> Self
fn from_socket(socket: OwnedSocket) -> Self
Self
from the given socket.sourcefn from_into_socket<Owned>(into_owned: Owned) -> Selfwhere
Owned: IntoSocket,
fn from_into_socket<Owned>(into_owned: Owned) -> Selfwhere
Owned: IntoSocket,
sourceimpl IntoRawHandleOrSocket for TcpStream
Available on Windows only.
impl IntoRawHandleOrSocket for TcpStream
sourcefn into_raw_handle_or_socket(self) -> RawHandleOrSocket
fn into_raw_handle_or_socket(self) -> RawHandleOrSocket
IntoRawHandle::into_raw_handle
and
IntoRawSocket::into_raw_socket
but can return either type. Read moresourceimpl IntoRawSocket for TcpStream
Available on Windows only.
impl IntoRawSocket for TcpStream
sourcefn into_raw_socket(self) -> RawSocket
fn into_raw_socket(self) -> RawSocket
sourceimpl IntoSocket for TcpStream
Available on Windows only.
impl IntoSocket for TcpStream
sourcefn into_socket(self) -> OwnedSocket
fn into_socket(self) -> OwnedSocket
sourceimpl Read for &TcpStream
impl Read for &TcpStream
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
read
, except that it reads into a slice of buffers. Read moresourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
buf
. Read moresourcefn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
buf
. Read moresourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
buf
. Read moresourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)sourcefn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)sourcefn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)cursor
. Read more1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Read
. Read moresourceimpl Read for TcpStream
impl Read for TcpStream
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
read
, except that it reads into a slice of buffers. Read moresourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
buf
. Read moresourcefn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
buf
. Read moresourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
buf
. Read moresourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)sourcefn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)sourcefn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)cursor
. Read more1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Read
. Read moresourceimpl Write for &TcpStream
impl Write for &TcpStream
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
sourcefn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
sourcefn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored
)sourceimpl Write for TcpStream
impl Write for TcpStream
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
sourcefn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
sourcefn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored
)Auto Trait Implementations
impl RefUnwindSafe for TcpStream
impl Send for TcpStream
impl Sync for TcpStream
impl Unpin for TcpStream
impl UnwindSafe for TcpStream
Blanket Implementations
sourceimpl<T> AsRawGrip for Twhere
T: AsRawHandleOrSocket,
impl<T> AsRawGrip for Twhere
T: AsRawHandleOrSocket,
sourcefn as_raw_grip(&self) -> RawHandleOrSocket
fn as_raw_grip(&self) -> RawHandleOrSocket
sourceimpl<T> AsRawSocketlike for Twhere
T: AsRawSocket,
impl<T> AsRawSocketlike for Twhere
T: AsRawSocket,
sourcefn as_raw_socketlike(&self) -> u32
fn as_raw_socketlike(&self) -> u32
sourceimpl<T> AsSocketlike for Twhere
T: AsSocket,
impl<T> AsSocketlike for Twhere
T: AsSocket,
sourcefn as_socketlike(&self) -> BorrowedSocket<'_>
fn as_socketlike(&self) -> BorrowedSocket<'_>
sourcefn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
Target: SocketlikeViewType,
fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
Target: SocketlikeViewType,
&Target
. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> FromRawSocketlike for Twhere
T: FromRawSocket,
impl<T> FromRawSocketlike for Twhere
T: FromRawSocket,
sourceunsafe fn from_raw_socketlike(raw: u32) -> T
unsafe fn from_raw_socketlike(raw: u32) -> T
Self
from the raw value.sourceimpl<T> FromSocketlike for Twhere
T: FromSocket,
impl<T> FromSocketlike for Twhere
T: FromSocket,
sourcefn from_socketlike(owned: OwnedSocket) -> T
fn from_socketlike(owned: OwnedSocket) -> T
Self
from the given socketlike object.sourcefn from_into_socketlike<Owned>(owned: Owned) -> Twhere
Owned: IntoSocketlike,
fn from_into_socketlike<Owned>(owned: Owned) -> Twhere
Owned: IntoSocketlike,
Self
from the given socketlike object
converted from into_owned
. Read moresourceimpl<T> IntoRawGrip for Twhere
T: IntoRawHandleOrSocket,
impl<T> IntoRawGrip for Twhere
T: IntoRawHandleOrSocket,
sourcefn into_raw_grip(self) -> RawHandleOrSocket
fn into_raw_grip(self) -> RawHandleOrSocket
self
and convert into an RawGrip
.