#[derive(Debug, thiserror::Error)]
pub enum BridgeError {
#[error("ring buffer full (capacity: {capacity}, pending: {pending})")]
Full { capacity: usize, pending: usize },
#[error("ring buffer empty")]
Empty,
#[error("channel disconnected: {side} side dropped")]
Disconnected { side: &'static str },
#[error("backpressure: queue utilization at {percent}% (threshold: {threshold}%)")]
Backpressure { percent: u8, threshold: u8 },
#[error("deadline exceeded for request {request_id}")]
DeadlineExceeded { request_id: u64 },
}
pub type Result<T> = std::result::Result<T, BridgeError>;