// file: kb_lib/src/types.rs

//! Shared generic types for `kb_lib`.

/// Generic connection state used by transport clients.
#[derive(Clone, Copy, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum ConnectionState {
    /// The client is fully disconnected.
    Disconnected,
    /// The client is establishing its connection.
    Connecting,
    /// The client is connected and ready.
    Connected,
    /// The client is shutting down its connection.
    Disconnecting,
}
