msr_core/fs/
mod.rs

1use std::result::Result as StdResult;
2
3use thiserror::Error;
4
5pub mod policy;
6
7#[cfg(feature = "csv-storage")]
8pub mod csv;
9
10#[derive(Error, Debug)]
11pub enum Error {
12    #[error("timing error")]
13    Timing,
14
15    #[cfg(feature = "csv-storage")]
16    #[error("CSV format error")]
17    Csv(::csv::Error),
18}
19
20#[cfg(feature = "csv-storage")]
21impl From<::csv::Error> for Error {
22    fn from(from: ::csv::Error) -> Self {
23        Self::Csv(from)
24    }
25}
26
27pub type Result<T> = StdResult<T, Error>;
28
29#[derive(Error, Debug, Eq, PartialEq)]
30pub enum WriteError {
31    #[error("no file available for writing")]
32    NoFile,
33
34    #[error("writing repeatedly failed with OS error code {code:}")]
35    RepeatedOsError { code: i32 },
36}
37
38pub type WriteResult = StdResult<(), WriteError>;