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, ) -> Result<(), super::BucketTransferProtocolError> { unreachable!() } fn download_from_bucket( &self, _req: &super::DownloadFromBucketRequest, ) -> Result<(), super::BucketTransferProtocolError> { unreachable!() } fn transfer_to_client( &self, _req: &super::TransferToClientRequest, ) -> Result<(), super::BucketTransferProtocolError> { unreachable!() } fn receive_from_client( &self, _req: &super::ReceiveFromClientRequest, ) -> Result<(), super::BucketTransferProtocolError> { unreachable!() } }