sheave_core/byte_buffer/
insufficient_buffer_length.rsuse std::{
error::Error,
fmt::{
Display,
Formatter,
Result as FormatResult
},
io::{
Error as IOError,
ErrorKind
}
};
#[derive(Debug)]
pub struct InsufficientBufferLength {
expected: usize,
actual: usize
}
impl InsufficientBufferLength {
pub fn new(expected: usize, actual: usize) -> Self {
Self { expected, actual }
}
}
impl Display for InsufficientBufferLength {
fn fmt(&self, f: &mut Formatter<'_>) -> FormatResult {
writeln!(f, "Buffer length is insufficient. expected: {}, actual: {}", self.expected, self.actual)
}
}
impl Error for InsufficientBufferLength {}
pub fn insufficient_buffer_length(expected: usize, actual: usize) -> IOError {
IOError::new(
ErrorKind::InvalidInput,
InsufficientBufferLength {
expected,
actual
}
)
}