aboutsummaryrefslogtreecommitdiff
path: root/src/block/manager.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2024-02-23 16:49:50 +0100
committerAlex Auvolat <alex@adnab.me>2024-03-07 15:43:47 +0100
commit57acc60082089e1a24fd47588f6ff3cb20ed4eef (patch)
treed616a16a2225d81da6996386d19417bc04d785ac /src/block/manager.rs
parentfe2dc5d51c206c21ab15d9cc93fa1d1c52d95c46 (diff)
downloadgarage-57acc60082089e1a24fd47588f6ff3cb20ed4eef.tar.gz
garage-57acc60082089e1a24fd47588f6ff3cb20ed4eef.zip
[sse-c] Implement SSE-C encryption
Diffstat (limited to 'src/block/manager.rs')
-rw-r--r--src/block/manager.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/block/manager.rs b/src/block/manager.rs
index f4d8ee56..c7e4df17 100644
--- a/src/block/manager.rs
+++ b/src/block/manager.rs
@@ -337,26 +337,18 @@ impl BlockManager {
}
}
- /// Ask nodes that might have a block for it, return it as one big Bytes
- pub async fn rpc_get_block(
- &self,
- hash: &Hash,
- order_tag: Option<OrderTag>,
- ) -> Result<Bytes, Error> {
- let stream = self.rpc_get_block_streaming(hash, order_tag).await?;
- Ok(read_stream_to_end(stream).await?.into_bytes())
- }
-
/// Send block to nodes that should have it
pub async fn rpc_put_block(
&self,
hash: Hash,
data: Bytes,
+ prevent_compression: bool,
order_tag: Option<OrderTag>,
) -> Result<(), Error> {
let who = self.replication.write_sets(&hash);
- let (header, bytes) = DataBlock::from_buffer(data, self.compression_level)
+ let compression_level = self.compression_level.filter(|_| !prevent_compression);
+ let (header, bytes) = DataBlock::from_buffer(data, compression_level)
.await
.into_parts();
let put_block_rpc =