aboutsummaryrefslogtreecommitdiffstats
path: root/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/error.rs b/src/error.rs
index c106d02..9ca35a8 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,30 +1,24 @@
/// Errors potentially returned by this crate.
-#[derive(Debug, snafu::Snafu)]
-#[snafu(visibility(pub))]
+#[derive(Debug)]
pub enum Error {
- /// eof
- #[snafu(display("eof"))]
- EOF,
-
/// failed to create ttyrec frame: got N bytes of data but ttyrec frames
/// can be at most M bytes
- #[snafu(display("failed to create ttyrec frame: got {} bytes of data, but ttyrec frames can be at most {} bytes", input, u32::max_value()))]
FrameTooBig { input: usize },
/// failed to create ttyrec frame: got N seconds but ttyrec frames can be
/// at most M seconds
- #[snafu(display("failed to create ttyrec frame: got {} seconds, but ttyrecs can be at most {} seconds", input, u32::max_value()))]
FrameTooLong { input: u64 },
+}
- /// failed to read from file
- #[cfg(feature = "async")]
- #[snafu(display("failed to read from file: {}", source))]
- ReadFile { source: tokio::io::Error },
-
- /// failed to write to file
- #[cfg(feature = "async")]
- #[snafu(display("failed to write to file: {}", source))]
- WriteFile { source: tokio::io::Error },
+impl std::fmt::Display for Error {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ match self {
+ Self::FrameTooBig { input } => write!(f, "failed to create ttyrec frame: got {} bytes of data, but ttyrec frames can be at most {} bytes", input, u32::max_value()),
+ Self::FrameTooLong { input } => write!(f, "failed to create ttyrec frame: got {} seconds, but ttyrecs can be at most {} seconds", input, u32::max_value()),
+ }
+ }
}
+impl std::error::Error for Error {}
+
pub type Result<T> = std::result::Result<T, Error>;