Skip to main content

SocketOps

Trait SocketOps 

Source
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§

Source

fn bind(&self, local_addr: SocketAddrEx) -> NetResult

Binds an unbound socket to the given address and port.

Source

fn start_connect(&self, remote_addr: SocketAddrEx) -> NetResult<ConnectStatus>

Starts a connection without waiting for asynchronous completion.

Source

fn try_send( &self, src: impl Read + IoBuf, options: &mut SendOptions, ) -> NetResult<usize>

Attempts to send data without parking the caller.

Source

fn try_recv( &self, dst: impl Write + IoBufMut, options: &mut RecvOptions<'_>, ) -> NetResult<usize>

Attempts to receive data without parking the caller.

Source

fn local_addr(&self) -> NetResult<SocketAddrEx>

Get the local endpoint of the socket.

Source

fn peer_addr(&self) -> NetResult<SocketAddrEx>

Get the remote endpoint of the socket.

Source

fn shutdown(&self, how: Shutdown) -> NetResult

Shutdown the socket, closing the connection.

Provided Methods§

Source

fn connect_status(&self) -> NetResult<ConnectStatus>

Checks a previously started asynchronous connection.

Source

fn listen(&self, _backlog: usize) -> NetResult

Starts listening on the bound address and port.

Source

fn is_listening(&self) -> bool

Returns whether this socket currently accepts incoming connections.

Source

fn try_accept(&self) -> NetResult<Socket>

Attempts to accept one connection without parking the caller.

Source

fn recv_available(&self) -> NetResult<usize>

Returns the number of bytes that can be read without blocking.

Source

fn send_wait_policy( &self, extra_nonblocking: bool, ) -> NetResult<SocketWaitPolicy>

Returns the send wait policy without acquiring scheduler ownership.

Source

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".

Implementations on Foreign Types§

Source§

impl<T: SocketOps + ?Sized> SocketOps for Box<T>

Implementors§