pub trait Server: Send + Sync + Sized {
    fn open(url: &str) -> Option<Self>;
    fn close(self) -> Self;
    fn id(&self) -> ServerId;
    fn state(&self) -> ServerState;
    fn clients(&self) -> &[ClientId];
    fn disconnect(&mut self, id: ClientId);
    fn disconnect_all(&mut self);
    fn send(
        &mut self,
        id: ClientId,
        msg_id: MessageId,
        data: &[u8]
    ) -> Option<Range<usize>>; fn send_all(&mut self, id: MessageId, data: &[u8]); fn read(&mut self) -> Option<(ClientId, MessageId, Vec<u8>)>; fn read_all(&mut self) -> Vec<(ClientId, MessageId, Vec<u8>)> { ... } fn process(&mut self) { ... } }

Required Methods

Provided Methods

Implementations on Foreign Types

Implementors