Skip to main content

SocketProvider

Trait SocketProvider 

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

Source

fn connect( &self, host: &str, port: u16, callback: SocketCallback, ) -> Result<SocketHandle, SocketError>

Source

fn send(&self, socket: SocketHandle, bytes: &[u8]) -> Result<usize, SocketError>

Source

fn close(&self, socket: SocketHandle) -> Result<(), SocketError>

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§