summaryrefslogtreecommitdiff
path: root/rola-bucket/src/protocol/placeholder.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-18 04:40:25 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-18 04:40:25 +0800
commit7879ac01b24eb9723ec0a814adaee1fc9c52610a (patch)
treed1c9a07e3ef8819869494c45e96bcd3e98856bdb /rola-bucket/src/protocol/placeholder.rs
parent0b8e6e7d18abb94bd99553dc1d2b0ba5d4f265ea (diff)
feat(rola-cli): implement bucket creation and CLI entry point
Add bucket creation logic with pre-checks, localized error handling, and a basic CLI entry point using the mingling framework. Introduce a placeholder protocol for bucket transfer testing.
Diffstat (limited to 'rola-bucket/src/protocol/placeholder.rs')
-rw-r--r--rola-bucket/src/protocol/placeholder.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/rola-bucket/src/protocol/placeholder.rs b/rola-bucket/src/protocol/placeholder.rs
new file mode 100644
index 0000000..6fd5a10
--- /dev/null
+++ b/rola-bucket/src/protocol/placeholder.rs
@@ -0,0 +1,45 @@
+use crate::BucketTransferProtocol;
+
+/// A placeholder implementation of the bucket transfer protocol.
+///
+/// This struct serves as a temporary or stub implementation of
+/// [`BucketTransferProtocol`], intended for use in contexts where
+/// actual data transfer is not required (e.g., testing, scaffolding,
+/// or as a default before a real implementation is provided).
+///
+/// Calling any of the transfer methods on this implementation will
+/// result in a panic with `unreachable!()`, signaling that the
+/// placeholder should be replaced before use.
+pub struct NoProtocol;
+
+impl BucketTransferProtocol for NoProtocol {
+ type ExtraInfo = ();
+
+ fn upload_to_bucket(
+ &self,
+ _req: &super::UploadToBucketRequest<Self::ExtraInfo>,
+ ) -> Result<(), super::BucketTransferProtocolError> {
+ unreachable!()
+ }
+
+ fn download_from_bucket(
+ &self,
+ _req: &super::DownloadFromBucketRequest<Self::ExtraInfo>,
+ ) -> Result<(), super::BucketTransferProtocolError> {
+ unreachable!()
+ }
+
+ fn transfer_to_client(
+ &self,
+ _req: &super::TransferToClientRequest<Self::ExtraInfo>,
+ ) -> Result<(), super::BucketTransferProtocolError> {
+ unreachable!()
+ }
+
+ fn receive_from_client(
+ &self,
+ _req: &super::ReceiveFromClientRequest<Self::ExtraInfo>,
+ ) -> Result<(), super::BucketTransferProtocolError> {
+ unreachable!()
+ }
+}