Trait SocketDriver

Source
pub trait SocketDriver: Send + Sync {
Show 15 methods // Required methods fn get_new_socket_identifier( &self, iterator: LocalFileIdentifierIterator, ) -> Result<Option<LocalFileIdentifier>>; fn close(&self, socket: LocalFileIdentifier) -> Result<()>; fn bind( &self, ip: IP, port: Port, protocol: Protocol, socket: LocalFileIdentifier, ) -> Result<()>; fn connect( &self, ip: IP, port: Port, socket: LocalFileIdentifier, ) -> Result<()>; fn accept( &self, socket: LocalFileIdentifier, new_socket: LocalFileIdentifier, ) -> Result<(IP, Port)>; fn send(&self, socket: LocalFileIdentifier, data: &[u8]) -> Result<()>; fn send_to( &self, socket: LocalFileIdentifier, data: &[u8], ip: IP, port: Port, ) -> Result<()>; fn receive( &self, socket: LocalFileIdentifier, data: &mut [u8], ) -> Result<usize>; fn receive_from( &self, socket: LocalFileIdentifier, data: &mut [u8], ) -> Result<(usize, IP, Port)>; fn get_local_address( &self, socket: LocalFileIdentifier, ) -> Result<(IP, Port)>; fn get_remote_address( &self, socket: LocalFileIdentifier, ) -> Result<(IP, Port)>; fn set_send_timeout( &self, socket: LocalFileIdentifier, timeout: Duration, ) -> Result<()>; fn set_receive_timeout( &self, socket: LocalFileIdentifier, timeout: Duration, ) -> Result<()>; fn get_send_timeout( &self, socket: LocalFileIdentifier, ) -> Result<Option<Duration>>; fn get_receive_timeout( &self, socket: LocalFileIdentifier, ) -> Result<Option<Duration>>;
}

Required Methods§

Source

fn get_new_socket_identifier( &self, iterator: LocalFileIdentifierIterator, ) -> Result<Option<LocalFileIdentifier>>

Source

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

Source

fn bind( &self, ip: IP, port: Port, protocol: Protocol, socket: LocalFileIdentifier, ) -> Result<()>

Source

fn connect(&self, ip: IP, port: Port, socket: LocalFileIdentifier) -> Result<()>

Source

fn accept( &self, socket: LocalFileIdentifier, new_socket: LocalFileIdentifier, ) -> Result<(IP, Port)>

Source

fn send(&self, socket: LocalFileIdentifier, data: &[u8]) -> Result<()>

Source

fn send_to( &self, socket: LocalFileIdentifier, data: &[u8], ip: IP, port: Port, ) -> Result<()>

Source

fn receive(&self, socket: LocalFileIdentifier, data: &mut [u8]) -> Result<usize>

Source

fn receive_from( &self, socket: LocalFileIdentifier, data: &mut [u8], ) -> Result<(usize, IP, Port)>

Source

fn get_local_address(&self, socket: LocalFileIdentifier) -> Result<(IP, Port)>

Source

fn get_remote_address(&self, socket: LocalFileIdentifier) -> Result<(IP, Port)>

Source

fn set_send_timeout( &self, socket: LocalFileIdentifier, timeout: Duration, ) -> Result<()>

Source

fn set_receive_timeout( &self, socket: LocalFileIdentifier, timeout: Duration, ) -> Result<()>

Source

fn get_send_timeout( &self, socket: LocalFileIdentifier, ) -> Result<Option<Duration>>

Source

fn get_receive_timeout( &self, socket: LocalFileIdentifier, ) -> Result<Option<Duration>>

Implementors§