use thiserror::Error;
use crate::session::SessionError;
#[derive(Debug, Error)]
pub enum WireError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("Message too large: {0} bytes")]
MessageTooLarge(usize),
#[error("Invalid message format")]
InvalidFormat,
#[error("Connection closed unexpectedly")]
ConnectionClosed,
#[error("Session error: {0}")]
Session(#[from] SessionError),
}