//! Connection observer trait for receiving structured events.
use crateClientEvent;
/// Trait for receiving events from a MoQT connection.
///
/// Implementations must be `Send + Sync` because the connection may emit
/// events from async tasks. The `on_event` method takes `&self` (not
/// `&mut self`) -- implementations that need mutation should use interior
/// mutability (e.g., `Mutex`, `mpsc::Sender`).
///
/// The callback is synchronous to keep the hot path simple. Implementations
/// that need async processing should send to an internal channel.
/// A no-op observer that discards all events.
;