use super::{huffman::HuffmanError, integer_prefix::IntegerPrefixError};
use crate::h3::{H3Error, H3ErrorCode};
#[derive(Debug, thiserror::Error, Clone, Copy)]
pub(crate) enum CompressionError {
#[error(transparent)]
Huffman(#[from] HuffmanError),
#[error(transparent)]
IntegerPrefix(#[from] IntegerPrefixError),
#[error("static table index {0} out of range")]
InvalidStaticIndex(usize),
#[error("unexpected end of field section")]
UnexpectedEnd,
#[error("invalid header name")]
InvalidHeaderName,
}
impl From<CompressionError> for H3Error {
fn from(_: CompressionError) -> Self {
H3ErrorCode::QpackDecompressionFailed.into()
}
}