aboutsummaryrefslogtreecommitdiff
path: root/hbakd/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'hbakd/src/error.rs')
-rw-r--r--hbakd/src/error.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/hbakd/src/error.rs b/hbakd/src/error.rs
new file mode 100644
index 0000000..2ee386a
--- /dev/null
+++ b/hbakd/src/error.rs
@@ -0,0 +1,19 @@
+use std::io;
+
+use thiserror::Error;
+
+#[derive(Debug, Error)]
+pub enum Error {
+ #[error("An error occured on the local node: {0}")]
+ HbakLocalNode(#[from] hbak_common::LocalNodeError),
+ #[error("A network error occured: {0}")]
+ HbakNetwork(#[from] hbak_common::NetworkError),
+
+ #[error("IO error: {0}")]
+ Io(#[from] io::Error),
+
+ #[error("Unable to set signal handler: {0}")]
+ Ctrlc(#[from] ctrlc::Error),
+}
+
+pub type Result<T> = std::result::Result<T, Error>;