pub trait Client: Send + Sync + Sized {
    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>)>;

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

Required Methods

Provided Methods

Implementations on Foreign Types

Implementors