1use crate::ws::{IncomingMessage, OutgoingMessage};
2
3#[derive(Debug)]
4pub enum Command {
5 Connect,
6 Send(OutgoingMessage),
7 Disconnect,
8}
9
10#[derive(Debug)]
11pub enum Event {
12 Connected,
13 Message(IncomingMessage),
14 ParseError(String),
17 Lagged {
21 dropped: u64,
22 },
23 Reconnecting {
24 attempt: u32,
25 delay_ms: u64,
26 },
27 Disconnected {
28 reason: DisconnectReason,
29 },
30}
31
32#[derive(Debug, Clone)]
33pub enum DisconnectReason {
34 Requested,
35 RemoteClosed,
36 PongTimeout,
37 Error(String),
38}