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§
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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.