use std::{
error::Error,
fmt::{
self,
Display,
Formatter,
},
};
use crate::LogOutputLimit;
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct LogOutputLimitError {
requested: usize,
}
impl LogOutputLimitError {
#[inline(always)]
pub(crate) const fn new(requested: usize) -> Self {
Self { requested }
}
#[inline(always)]
pub const fn requested(self) -> usize {
self.requested
}
#[inline(always)]
pub const fn minimum(self) -> usize {
LogOutputLimit::MINIMUM
}
}
impl Display for LogOutputLimitError {
fn fmt(&self, formatter: &mut Formatter<'_>) -> fmt::Result {
write!(
formatter,
"log output limit {} bytes is smaller than the minimum {} bytes",
self.requested,
LogOutputLimit::MINIMUM,
)
}
}
impl Error for LogOutputLimitError {}