pub struct LocalTcpStream { /* private fields */ }
Available on crate feature
host-vnet
only.Trait Implementations§
Source§impl Debug for LocalTcpStream
impl Debug for LocalTcpStream
Source§impl VirtualConnectedSocket for LocalTcpStream
impl VirtualConnectedSocket for LocalTcpStream
Source§fn set_linger(&mut self, linger: Option<Duration>) -> Result<(), NetworkError>
fn set_linger(&mut self, linger: Option<Duration>) -> Result<(), NetworkError>
Determines how long the socket will remain in a TIME_WAIT
after it disconnects (only the one that initiates the close will
be in a TIME_WAIT state thus the clients should always do this rather
than the server)
Source§fn linger(&self) -> Result<Option<Duration>, NetworkError>
fn linger(&self) -> Result<Option<Duration>, NetworkError>
Returns how long the socket will remain in a TIME_WAIT
after it disconnects
Source§fn try_send(&mut self, data: &[u8]) -> Result<usize, NetworkError>
fn try_send(&mut self, data: &[u8]) -> Result<usize, NetworkError>
Tries to send out a datagram or stream of bytes on this socket
fn try_flush(&mut self) -> Result<(), NetworkError>
Source§fn try_recv(
&mut self,
buf: &mut [MaybeUninit<u8>],
) -> Result<usize, NetworkError>
fn try_recv( &mut self, buf: &mut [MaybeUninit<u8>], ) -> Result<usize, NetworkError>
Tries to read a packet from the socket
Source§impl VirtualIoSource for LocalTcpStream
impl VirtualIoSource for LocalTcpStream
Source§fn remove_handler(&mut self)
fn remove_handler(&mut self)
Removes a previously registered waker using a token
Source§fn poll_read_ready(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<usize, NetworkError>>
fn poll_read_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<usize, NetworkError>>
Polls the source to see if there is data waiting
Source§fn poll_write_ready(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<usize, NetworkError>>
fn poll_write_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<usize, NetworkError>>
Polls the source to see if data can be sent
Source§impl VirtualSocket for LocalTcpStream
impl VirtualSocket for LocalTcpStream
Source§fn set_ttl(&mut self, ttl: u32) -> Result<(), NetworkError>
fn set_ttl(&mut self, ttl: u32) -> Result<(), NetworkError>
Sets how many network hops the packets are permitted for new connections
Source§fn ttl(&self) -> Result<u32, NetworkError>
fn ttl(&self) -> Result<u32, NetworkError>
Returns the maximum number of network hops before packets are dropped
Source§fn addr_local(&self) -> Result<SocketAddr, NetworkError>
fn addr_local(&self) -> Result<SocketAddr, NetworkError>
Returns the local address for this socket
Source§fn status(&self) -> Result<SocketStatus, NetworkError>
fn status(&self) -> Result<SocketStatus, NetworkError>
Returns the status/state of the socket
Source§fn set_handler(
&mut self,
handler: Box<dyn InterestHandler + Send + Sync>,
) -> Result<(), NetworkError>
fn set_handler( &mut self, handler: Box<dyn InterestHandler + Send + Sync>, ) -> Result<(), NetworkError>
Registers a waker for when this connection is ready to receive
more data. Uses a stack machine which means more than one waker
can be registered
Source§impl VirtualTcpSocket for LocalTcpStream
impl VirtualTcpSocket for LocalTcpStream
Source§fn set_recv_buf_size(&mut self, size: usize) -> Result<(), NetworkError>
fn set_recv_buf_size(&mut self, size: usize) -> Result<(), NetworkError>
Sets the receive buffer size which acts as a trottle for how
much data is buffered on this side of the pipe
Source§fn recv_buf_size(&self) -> Result<usize, NetworkError>
fn recv_buf_size(&self) -> Result<usize, NetworkError>
Size of the receive buffer that holds all data that has not
yet been read
Source§fn set_send_buf_size(&mut self, size: usize) -> Result<(), NetworkError>
fn set_send_buf_size(&mut self, size: usize) -> Result<(), NetworkError>
Sets the size of the send buffer which will hold the bytes of
data while they are being sent over to the peer
Source§fn send_buf_size(&self) -> Result<usize, NetworkError>
fn send_buf_size(&self) -> Result<usize, NetworkError>
Size of the send buffer that holds all data that is currently
being transmitted.
Source§fn set_nodelay(&mut self, nodelay: bool) -> Result<(), NetworkError>
fn set_nodelay(&mut self, nodelay: bool) -> Result<(), NetworkError>
When NO_DELAY is set the data that needs to be transmitted to
the peer is sent immediately rather than waiting for a bigger
batch of data, this reduces latency but increases encapsulation
overhead.
Source§fn nodelay(&self) -> Result<bool, NetworkError>
fn nodelay(&self) -> Result<bool, NetworkError>
Indicates if the NO_DELAY flag is set which means that data
is immediately sent to the peer without waiting. This reduces
latency but increases encapsulation overhead.
Source§fn set_keepalive(&mut self, keepalive: bool) -> Result<(), NetworkError>
fn set_keepalive(&mut self, keepalive: bool) -> Result<(), NetworkError>
When KEEP_ALIVE is set the connection will periodically send
an empty data packet to the server to make sure the connection
stays alive.
Source§fn keepalive(&self) -> Result<bool, NetworkError>
fn keepalive(&self) -> Result<bool, NetworkError>
Indicates if the KEEP_ALIVE flag is set which means that the
socket will periodically send an empty data packet to keep
the connection alive.
Source§fn set_dontroute(&mut self, val: bool) -> Result<(), NetworkError>
fn set_dontroute(&mut self, val: bool) -> Result<(), NetworkError>
When DONT_ROUTE is set the packet will be sent directly
to the interface without passing through the routing logic.
Source§fn dontroute(&self) -> Result<bool, NetworkError>
fn dontroute(&self) -> Result<bool, NetworkError>
Indicates if the packet will pass straight through to
the interface bypassing the routing logic.
Source§fn addr_peer(&self) -> Result<SocketAddr, NetworkError>
fn addr_peer(&self) -> Result<SocketAddr, NetworkError>
Returns the address (IP and Port) of the peer socket that this
is conencted to
Auto Trait Implementations§
impl !Freeze for LocalTcpStream
impl RefUnwindSafe for LocalTcpStream
impl Send for LocalTcpStream
impl Sync for LocalTcpStream
impl Unpin for LocalTcpStream
impl UnwindSafe for LocalTcpStream
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref