diff options
author | Alex Auvolat <alex@adnab.me> | 2024-02-23 16:49:50 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2024-03-07 15:43:47 +0100 |
commit | 57acc60082089e1a24fd47588f6ff3cb20ed4eef (patch) | |
tree | d616a16a2225d81da6996386d19417bc04d785ac /src/block/manager.rs | |
parent | fe2dc5d51c206c21ab15d9cc93fa1d1c52d95c46 (diff) | |
download | garage-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.rs | 14 |
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 = |