Trait SocketHandler

Source
pub trait SocketHandler {
    // Required methods
    fn socket_read(&mut self, buf: &mut [u8]) -> (usize, SocketResult);
    fn socket_write(&mut self, buf: &[u8]) -> (usize, SocketResult);
    fn socket_write_vectored(
        &mut self,
        _buf: &[IoSlice<'_>],
    ) -> (usize, SocketResult);
    fn socket_ref(&self) -> &TcpStream;
    fn socket_mut(&mut self) -> &mut TcpStream;
    fn protocol(&self) -> TransportProtocol;
    fn read_error(&self);
    fn write_error(&self);

    // Provided methods
    fn socket_wants_write(&self) -> bool { ... }
    fn socket_close(&mut self) { ... }
}

Required Methods§

Source

fn socket_read(&mut self, buf: &mut [u8]) -> (usize, SocketResult)

Source

fn socket_write(&mut self, buf: &[u8]) -> (usize, SocketResult)

Source

fn socket_write_vectored( &mut self, _buf: &[IoSlice<'_>], ) -> (usize, SocketResult)

Source

fn socket_ref(&self) -> &TcpStream

Source

fn socket_mut(&mut self) -> &mut TcpStream

Source

fn protocol(&self) -> TransportProtocol

Source

fn read_error(&self)

Source

fn write_error(&self)

Provided Methods§

Implementations on Foreign Types§

Source§

impl SocketHandler for TcpStream

Source§

fn socket_read(&mut self, buf: &mut [u8]) -> (usize, SocketResult)

Source§

fn socket_write(&mut self, buf: &[u8]) -> (usize, SocketResult)

Source§

fn socket_write_vectored( &mut self, bufs: &[IoSlice<'_>], ) -> (usize, SocketResult)

Source§

fn socket_ref(&self) -> &TcpStream

Source§

fn socket_mut(&mut self) -> &mut TcpStream

Source§

fn protocol(&self) -> TransportProtocol

Source§

fn read_error(&self)

Source§

fn write_error(&self)

Implementors§