use moqtap_client::transport::TransportError;
use moqtap_codec::error::CodecError;
#[derive(Debug, thiserror::Error)]
pub enum ProxyError {
#[error("listener error: {0}")]
Listener(String),
#[error("transport error: {0}")]
Transport(#[from] TransportError),
#[error("codec error: {0}")]
Codec(#[from] CodecError),
#[error("upstream connection failed: {0}")]
UpstreamConnect(String),
#[error("TLS config error: {0}")]
TlsConfig(String),
#[error("certificate generation error: {0}")]
CertGen(String),
#[error("session closed: {0}")]
SessionClosed(String),
#[error("proxy shutdown")]
Shutdown,
}