Skip to main content

bybit/ws/
messages.rs

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    /// A WebSocket text frame arrived but could not be deserialized.
15    /// The connection stays open — the raw error description is included.
16    ParseError(String),
17    Reconnecting {
18        attempt: u32,
19        delay_ms: u64,
20    },
21    Disconnected {
22        reason: DisconnectReason,
23    },
24}
25
26#[derive(Debug, Clone)]
27pub enum DisconnectReason {
28    Requested,
29    RemoteClosed,
30    PongTimeout,
31    Error(String),
32}