pub trait SocketProvider {
// Required methods
fn connect(
&self,
host: &str,
port: u16,
callback: SocketCallback,
) -> Result<SocketHandle, SocketError>;
fn send(
&self,
socket: SocketHandle,
bytes: &[u8],
) -> Result<usize, SocketError>;
fn close(&self, socket: SocketHandle) -> Result<(), SocketError>;
// Provided methods
fn listen(
&self,
_host: &str,
_port: u16,
_callback: SocketServerCallback,
) -> Result<SocketHandle, SocketError> { ... }
fn endpoint(
&self,
_server: SocketHandle,
) -> Result<(String, u16), SocketError> { ... }
fn events(&self, _handle: SocketHandle) -> Result<SocketHandle, SocketError> { ... }
fn next(&self, _stream: SocketHandle) -> Result<Promise, SocketError> { ... }
}Required Methods§
fn connect( &self, host: &str, port: u16, callback: SocketCallback, ) -> Result<SocketHandle, SocketError>
fn send(&self, socket: SocketHandle, bytes: &[u8]) -> Result<usize, SocketError>
fn close(&self, socket: SocketHandle) -> Result<(), SocketError>
Provided Methods§
fn listen( &self, _host: &str, _port: u16, _callback: SocketServerCallback, ) -> Result<SocketHandle, SocketError>
fn endpoint(&self, _server: SocketHandle) -> Result<(String, u16), SocketError>
fn events(&self, _handle: SocketHandle) -> Result<SocketHandle, SocketError>
fn next(&self, _stream: SocketHandle) -> Result<Promise, SocketError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl SocketProvider for LoopbackSocketProvider
impl SocketProvider for NativeSocketProvider
Available on non-WebAssembly only.