aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/blob.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/swarm/blob.rs')
-rw-r--r--src/swarm/blob.rs22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/swarm/blob.rs b/src/swarm/blob.rs
index 0bd2d37..f06b251 100644
--- a/src/swarm/blob.rs
+++ b/src/swarm/blob.rs
@@ -339,14 +339,20 @@ async fn serve(
let chunk = &prepared.bytes[start..end];
// Deflated where it shrinks (`compress`): changes are stored uncompressed.
let body = match crate::compress::deflate(chunk) {
- Some(deflated) => BlobBody::DeflatedChunk {
- index,
- data: deflated.into(),
- },
- None => BlobBody::Chunk {
- index,
- data: bytes::Bytes::copy_from_slice(chunk),
- },
+ Some(deflated) => {
+ state.stats.chunk_served(chunk.len(), deflated.len());
+ BlobBody::DeflatedChunk {
+ index,
+ data: deflated.into(),
+ }
+ }
+ None => {
+ state.stats.chunk_served(chunk.len(), chunk.len());
+ BlobBody::Chunk {
+ index,
+ data: bytes::Bytes::copy_from_slice(chunk),
+ }
+ }
};
reply(state, peer, id, body).await;
}