mirror of https://github.com/dswd/zvault
73 lines
2.1 KiB
Rust
73 lines
2.1 KiB
Rust
use std::io;
|
|
use std::path::PathBuf;
|
|
|
|
use rmp_serde::decode::Error as MsgpackDecode;
|
|
use rmp_serde::encode::Error as MsgpackEncode;
|
|
|
|
use super::bundle::BundleId;
|
|
|
|
quick_error!{
|
|
#[derive(Debug)]
|
|
pub enum BundleError {
|
|
List(err: io::Error) {
|
|
cause(err)
|
|
description("Failed to list bundles")
|
|
}
|
|
Read(err: io::Error, path: PathBuf, reason: &'static str) {
|
|
cause(err)
|
|
description("Failed to read bundle")
|
|
display("Failed to read bundle {:?}: {}", path, reason)
|
|
}
|
|
Decode(err: MsgpackDecode, path: PathBuf) {
|
|
cause(err)
|
|
description("Failed to decode bundle header")
|
|
}
|
|
Write(err: io::Error, path: PathBuf, reason: &'static str) {
|
|
cause(err)
|
|
description("Failed to write bundle")
|
|
display("Failed to write bundle {:?}: {}", path, reason)
|
|
}
|
|
Encode(err: MsgpackEncode, path: PathBuf) {
|
|
cause(err)
|
|
description("Failed to encode bundle header")
|
|
}
|
|
Format(path: PathBuf, reason: &'static str) {
|
|
description("Failed to decode bundle")
|
|
display("Failed to decode bundle {:?}: {}", path, reason)
|
|
}
|
|
Integrity(bundle: BundleId, reason: &'static str) {
|
|
description("Bundle has an integrity error")
|
|
display("Bundle {:?} has an integrity error: {}", bundle, reason)
|
|
}
|
|
Remove(err: io::Error, bundle: BundleId) {
|
|
cause(err)
|
|
description("Failed to remove bundle")
|
|
display("Failed to remove bundle {}", bundle)
|
|
}
|
|
Custom {
|
|
from(&'static str)
|
|
description("Custom error")
|
|
}
|
|
}
|
|
}
|
|
|
|
quick_error!{
|
|
#[derive(Debug)]
|
|
pub enum ChunkerError {
|
|
Read(err: io::Error) {
|
|
from(err)
|
|
cause(err)
|
|
description("Failed to read")
|
|
}
|
|
Write(err: io::Error) {
|
|
from(err)
|
|
cause(err)
|
|
description("Failed to write")
|
|
}
|
|
Custom {
|
|
from(&'static str)
|
|
description("Custom error")
|
|
}
|
|
}
|
|
}
|