jotta_osd/
errors.rs

1//! Error types.
2
3use crate::path::{ParseBucketNameError, ParseObjectNameError};
4
5/// Error.
6#[derive(Debug, thiserror::Error)]
7pub enum Error {
8    /// A [`jotta::Error`].
9    #[error("upstream fs error")]
10    Fs(#[from] jotta::Error),
11
12    /// Invalid bucket name.
13    #[error("bucket name parse error: {0}")]
14    ParseBucketName(#[from] ParseBucketNameError),
15
16    /// Invalid object name.
17    #[error("object name parse error: {0}")]
18    ParseObjectName(#[from] ParseObjectNameError),
19
20    /// Msgpack encode error.
21    #[error("msgpack encode error: {0}")]
22    MsgpackEncode(#[from] rmp_serde::encode::Error),
23
24    /// MsgPack decode error.
25    #[error("msgpack decode error: {0}")]
26    MsgpackDecode(#[from] rmp_serde::decode::Error),
27
28    /// I/O error.
29    #[error("io error")]
30    IoError(#[from] std::io::Error),
31}