use thiserror::Error;
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Error, Debug, Eq, PartialEq)]
pub enum Error {
#[error("overran by the producer, reader position: {0}")]
Overrun(usize),
#[error("provided buffer is of insufficient size, provided: {0}, required: {1}")]
InsufficientBufferSize(usize, usize),
}
impl Error {
#[inline]
pub const fn insufficient_buffer_size(provided: usize, required: usize) -> Error {
Error::InsufficientBufferSize(provided, required)
}
#[inline]
pub const fn overrun(position: usize) -> Error {
Error::Overrun(position)
}
}