kona_protocol/compression/
types.rs1use crate::BrotliLevel;
4use alloc::borrow::Borrow;
5
6pub type CompressorResult<T> = Result<T, CompressorError>;
8
9#[derive(Debug, thiserror::Error, Clone, Copy, PartialEq, Eq)]
11pub enum CompressorError {
12 #[error("compressor is full")]
14 Full,
15 #[error("brotli compression failed")]
17 Brotli,
18}
19
20#[derive(Debug, Clone, Copy, PartialEq, Eq)]
24pub enum CompressorType {
25 Ratio,
27 Shadow,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq, Eq)]
35pub enum CompressionAlgo {
36 Brotli9,
38 Brotli10,
40 Brotli11,
42 Zlib,
44}
45
46impl<A: Borrow<CompressionAlgo>> From<A> for BrotliLevel {
47 fn from(algo: A) -> Self {
48 match algo.borrow() {
49 CompressionAlgo::Brotli9 => Self::Brotli9,
50 CompressionAlgo::Brotli11 => Self::Brotli11,
51 _ => Self::Brotli10,
52 }
53 }
54}