#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum EncodeError {
#[error("payload too large: {actual} bytes (max {max} bytes)")]
PayloadTooLarge { max: usize, actual: usize },
#[error("layered output too large: {actual} bytes (max {max} bytes)")]
LayeredOutputTooLarge { max: usize, actual: usize },
#[error("payload contains invalid UTF-8")]
InvalidUtf8,
#[error("strategy {strategy} is not valid in context {context}")]
InvalidContext {
strategy: &'static str,
context: String,
},
#[error("invalid config: {0}")]
InvalidConfig(String),
}