Trait WebSocket

Source
pub trait WebSocket<ClientMsg, ServerMsg>: Sized + 'static
where ClientMsg: Serialize + for<'a> Deserialize<'a> + Send, ServerMsg: Serialize + Debug + for<'a> Deserialize<'a> + Send,
{ const SERVER_ENDPOINT: &'static str; const TIMEOUT: f32 = 10f32; // Provided methods fn force_start_server() { ... } fn force_start_client( handle: impl FnMut(ServerMsg) -> Option<ClientMsg> + Clone + 'static, on_start: impl FnMut(Self) + 'static, ) where Self: WebSocketClient<ClientMsg, ServerMsg> { ... } }

Required Associated Constants§

Source

const SERVER_ENDPOINT: &'static str

Provided Associated Constants§

Source

const TIMEOUT: f32 = 10f32

Provided Methods§

Source

fn force_start_server()

Source

fn force_start_client( handle: impl FnMut(ServerMsg) -> Option<ClientMsg> + Clone + 'static, on_start: impl FnMut(Self) + 'static, )
where Self: WebSocketClient<ClientMsg, ServerMsg>,

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.

Implementors§

§

impl WebSocket<(), Log> for LogSocket

§

const SERVER_ENDPOINT: &'static str = "/ws/log"

Source§

impl WebSocket<NonZero<u32>, QueueMessage> for QueueSocket

Source§

const SERVER_ENDPOINT: &'static str = "/ws/queue"