Struct wasmer_wasix::LocalTcpStream
pub struct LocalTcpStream {
stream: TcpStream,
addr: SocketAddr,
shutdown: Option<Shutdown>,
selector: Arc<Selector>,
handler_guard: HandlerGuardState,
buffer: BytesMut,
}
Fields§
§stream: TcpStream
§addr: SocketAddr
§shutdown: Option<Shutdown>
§selector: Arc<Selector>
§handler_guard: HandlerGuardState
§buffer: BytesMut
Trait Implementations§
§impl Debug for LocalTcpStream
impl Debug for LocalTcpStream
§impl VirtualConnectedSocket for LocalTcpStream
impl VirtualConnectedSocket for LocalTcpStream
§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)
§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
§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>
§impl VirtualIoSource for LocalTcpStream
impl VirtualIoSource for LocalTcpStream
§fn remove_handler(&mut self)
fn remove_handler(&mut self)
Removes a previously registered waker using a token
§impl VirtualSocket for LocalTcpStream
impl VirtualSocket for LocalTcpStream
§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
§fn ttl(&self) -> Result<u32, NetworkError>
fn ttl(&self) -> Result<u32, NetworkError>
Returns the maximum number of network hops before packets are dropped
§fn addr_local(&self) -> Result<SocketAddr, NetworkError>
fn addr_local(&self) -> Result<SocketAddr, NetworkError>
Returns the local address for this socket
§impl VirtualTcpSocket for LocalTcpStream
impl VirtualTcpSocket for LocalTcpStream
§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
§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
§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
§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.
§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.
§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.
§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.
§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.
§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.
§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.
§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§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§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>
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn