Trait NetworkOps
Source pub trait NetworkOps {
// Required methods
fn listen(
&self,
addr: SocketAddr,
) -> BoxFuture<'static, Result<SocketAddr, ListenError>>;
fn accept(
&self,
listener_addr: SocketAddr,
) -> BoxFuture<'static, Result<(Peer, ConnectionId), AcceptError>>;
fn connect(
&self,
addr: ToSocketAddrs,
timeout: Duration,
) -> BoxFuture<'static, Result<ConnectionId, ConnectError>>;
fn send(
&self,
conn: ConnectionId,
data: NonEmptyBytes,
) -> BoxFuture<'static, Result<(), SendError>>;
fn recv(
&self,
conn: ConnectionId,
bytes: NonZeroUsize,
) -> BoxFuture<'static, Result<NonEmptyBytes, ReceiveError>>;
fn close(
&self,
conn: ConnectionId,
) -> BoxFuture<'static, Result<(), CloseError>>;
}