summaryrefslogtreecommitdiff
path: root/rola-bucket/src/protocol
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-18 00:46:20 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-18 00:46:20 +0800
commit330e5ed096cfde3eb6217d4364ee62b92c97c826 (patch)
treef9aa4c8106b193160de272784d85392efcd965ac /rola-bucket/src/protocol
parent346eefc2ccfc06a133dafaa4fb86f1e21599179d (diff)
feat(rola-bucket): add bucket transfer protocol and error handling
Diffstat (limited to 'rola-bucket/src/protocol')
-rw-r--r--rola-bucket/src/protocol/error.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/rola-bucket/src/protocol/error.rs b/rola-bucket/src/protocol/error.rs
new file mode 100644
index 0000000..95447f7
--- /dev/null
+++ b/rola-bucket/src/protocol/error.rs
@@ -0,0 +1,19 @@
+use thiserror::Error;
+
+#[derive(Error, Debug)]
+pub enum BucketTransferProtocolError {
+ #[error("network connection failed: {0}")]
+ NetworkError(#[source] std::io::Error),
+
+ #[error("authentication failed: {0}")]
+ AuthenticationError(String),
+
+ #[error("permission denied: {0}")]
+ PermissionDenied(String),
+
+ #[error("I/O error: {0}")]
+ IoError(#[source] std::io::Error),
+
+ #[error("timeout occurred")]
+ Timeout,
+}