pub trait Client: Send + Sync + Sized {
    // Required methods
    fn open(url: &str) -> Option<Self>;
    fn close(self) -> Self;
    fn id(&self) -> ClientId;
    fn state(&self) -> ClientState;
    fn send(&mut self, id: MessageId, data: &[u8]) -> Option<Range<usize>>;
    fn read(&mut self) -> Option<(MessageId, Vec<u8>)>;

    // Provided methods
    fn read_all(&mut self) -> Vec<(MessageId, Vec<u8>)> { ... }
    fn process(&mut self) { ... }
}

Required Methods§

source

fn open(url: &str) -> Option<Self>

source

fn close(self) -> Self

source

fn id(&self) -> ClientId

source

fn state(&self) -> ClientState

source

fn send(&mut self, id: MessageId, data: &[u8]) -> Option<Range<usize>>

source

fn read(&mut self) -> Option<(MessageId, Vec<u8>)>

Provided Methods§

source

fn read_all(&mut self) -> Vec<(MessageId, Vec<u8>)>

source

fn process(&mut self)

Implementations on Foreign Types§

source§

impl Client for ()

source§

fn open(_: &str) -> Option<Self>

source§

fn close(self) -> Self

source§

fn id(&self) -> ClientId

source§

fn state(&self) -> ClientState

source§

fn send(&mut self, _: MessageId, _: &[u8]) -> Option<Range<usize>>

source§

fn read(&mut self) -> Option<(MessageId, Vec<u8>)>

source§

fn read_all(&mut self) -> Vec<(MessageId, Vec<u8>)>

Implementors§