#[derive(Debug, PartialEq, Eq)]
#[non_exhaustive]
pub enum MultiUuError {
EmptyCollection,
DecodeError(uuencoding::UuError),
DuplicatePart { part_number: u32 },
}
impl std::fmt::Display for MultiUuError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
MultiUuError::EmptyCollection => {
write!(f, "reassemble() called on empty PartCollection")
}
MultiUuError::DecodeError(e) => write!(f, "UUdecode error: {}", e),
MultiUuError::DuplicatePart { part_number } => {
write!(f, "duplicate part number: {}", part_number)
}
}
}
}
impl std::error::Error for MultiUuError {}
impl From<uuencoding::UuError> for MultiUuError {
fn from(e: uuencoding::UuError) -> Self {
Self::DecodeError(e)
}
}