pub trait SocketOps: Configurable {
Show 14 methods
// Required methods
fn bind(&self, local_addr: SocketAddrEx) -> NetResult;
fn start_connect(
&self,
remote_addr: SocketAddrEx,
) -> NetResult<ConnectStatus>;
fn try_send(
&self,
src: impl Read + IoBuf,
options: &mut SendOptions,
) -> NetResult<usize>;
fn try_recv(
&self,
dst: impl Write + IoBufMut,
options: &mut RecvOptions<'_>,
) -> NetResult<usize>;
fn local_addr(&self) -> NetResult<SocketAddrEx>;
fn peer_addr(&self) -> NetResult<SocketAddrEx>;
fn shutdown(&self, how: Shutdown) -> NetResult;
// Provided methods
fn connect_status(&self) -> NetResult<ConnectStatus> { ... }
fn listen(&self, _backlog: usize) -> NetResult { ... }
fn is_listening(&self) -> bool { ... }
fn try_accept(&self) -> NetResult<Socket> { ... }
fn recv_available(&self) -> NetResult<usize> { ... }
fn send_wait_policy(
&self,
extra_nonblocking: bool,
) -> NetResult<SocketWaitPolicy> { ... }
fn recv_wait_policy(
&self,
extra_nonblocking: bool,
) -> NetResult<SocketWaitPolicy> { ... }
}Expand description
Operations that can be performed on a socket.
Required Methods§
Sourcefn bind(&self, local_addr: SocketAddrEx) -> NetResult
fn bind(&self, local_addr: SocketAddrEx) -> NetResult
Binds an unbound socket to the given address and port.
Sourcefn start_connect(&self, remote_addr: SocketAddrEx) -> NetResult<ConnectStatus>
fn start_connect(&self, remote_addr: SocketAddrEx) -> NetResult<ConnectStatus>
Starts a connection without waiting for asynchronous completion.
Sourcefn try_send(
&self,
src: impl Read + IoBuf,
options: &mut SendOptions,
) -> NetResult<usize>
fn try_send( &self, src: impl Read + IoBuf, options: &mut SendOptions, ) -> NetResult<usize>
Attempts to send data without parking the caller.
Sourcefn try_recv(
&self,
dst: impl Write + IoBufMut,
options: &mut RecvOptions<'_>,
) -> NetResult<usize>
fn try_recv( &self, dst: impl Write + IoBufMut, options: &mut RecvOptions<'_>, ) -> NetResult<usize>
Attempts to receive data without parking the caller.
Sourcefn local_addr(&self) -> NetResult<SocketAddrEx>
fn local_addr(&self) -> NetResult<SocketAddrEx>
Get the local endpoint of the socket.
Sourcefn peer_addr(&self) -> NetResult<SocketAddrEx>
fn peer_addr(&self) -> NetResult<SocketAddrEx>
Get the remote endpoint of the socket.
Provided Methods§
Sourcefn connect_status(&self) -> NetResult<ConnectStatus>
fn connect_status(&self) -> NetResult<ConnectStatus>
Checks a previously started asynchronous connection.
Sourcefn is_listening(&self) -> bool
fn is_listening(&self) -> bool
Returns whether this socket currently accepts incoming connections.
Sourcefn try_accept(&self) -> NetResult<Socket>
fn try_accept(&self) -> NetResult<Socket>
Attempts to accept one connection without parking the caller.
Sourcefn recv_available(&self) -> NetResult<usize>
fn recv_available(&self) -> NetResult<usize>
Returns the number of bytes that can be read without blocking.
Sourcefn send_wait_policy(
&self,
extra_nonblocking: bool,
) -> NetResult<SocketWaitPolicy>
fn send_wait_policy( &self, extra_nonblocking: bool, ) -> NetResult<SocketWaitPolicy>
Returns the send wait policy without acquiring scheduler ownership.
Sourcefn recv_wait_policy(
&self,
extra_nonblocking: bool,
) -> NetResult<SocketWaitPolicy>
fn recv_wait_policy( &self, extra_nonblocking: bool, ) -> NetResult<SocketWaitPolicy>
Returns the receive wait policy without acquiring scheduler ownership.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".