use crate::upstream_client::UpstreamSendError;
#[derive(Debug, thiserror::Error)]
pub(crate) enum ServerError {
#[error("failed to bind the fast-path listener: {0}")]
Bind(#[source] std::io::Error),
#[error("failed to build the upstream request: {0}")]
RequestBuild(#[from] hyper::http::Error),
#[error("chain dispatch task failed: {0}")]
ChainJoin(#[from] tokio::task::JoinError),
#[error(transparent)]
Upstream(#[from] UpstreamSendError),
#[error("HTTP/3 (QUIC) transport error: {0}")]
Http3(#[source] Box<dyn std::error::Error + Send + Sync>),
}