pub struct TcpSocket { /* private fields */ }
Expand description
A TCP socket resource.
The socket can be in one of the following states:
unbound
bind-in-progress
bound
(See note below)listen-in-progress
listening
connect-in-progress
connected
closed
See https://github.com/WebAssembly/wasi-sockets/TcpSocketOperationalSemantics.md for a more information.
Note: Except where explicitly mentioned, whenever this documentation uses
the term “bound” without backticks it actually means: in the bound
state or higher.
(i.e. bound
, listen-in-progress
, listening
, connect-in-progress
or connected
)
In addition to the general error codes documented on the
network::error-code
type, TCP socket methods may always return
error(invalid-state)
when in the closed
state.
A host TCP socket, plus associated bookkeeping.
The inner state is wrapped in an Arc because the same underlying socket is used for implementing the stream types.
Implementations§
source§impl TcpSocket
impl TcpSocket
sourcepub fn new(family: AddressFamily) -> Result<Self>
pub fn new(family: AddressFamily) -> Result<Self>
Create a new socket in the given family.
pub fn tcp_socket(&self) -> &TcpStream
sourcepub fn as_split(&self) -> (InputStream, OutputStream)
pub fn as_split(&self) -> (InputStream, OutputStream)
Create the input/output stream pair for a tcp socket.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TcpSocket
impl RefUnwindSafe for TcpSocket
impl Send for TcpSocket
impl Sync for TcpSocket
impl Unpin for TcpSocket
impl UnwindSafe for TcpSocket
Blanket Implementations§
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self
file descriptor.source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self
file descriptor. Read more