Skip to content

Commit dc031f3

Browse files
committed
feat(zstd): support reading uncompressed size
1 parent 8132bc7 commit dc031f3

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

crates/compression-codecs/src/zstd/decoder.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::zstd::params::DParameter;
2-
use crate::Decode;
2+
use crate::{Decode, DecodedSize};
33
use compression_core::unshared::Unshared;
44
use compression_core::util::PartialBuffer;
55
use libzstd::stream::raw::{Decoder, Operation};
@@ -84,3 +84,10 @@ impl Decode for ZstdDecoder {
8484
Ok(bytes_left == 0)
8585
}
8686
}
87+
88+
impl DecodedSize for ZstdDecoder {
89+
fn decoded_size(input: &[u8]) -> Result<usize> {
90+
zstd_safe::find_frame_compressed_size(input)
91+
.map_err(|_err| io::Error::from(io::ErrorKind::Other))
92+
}
93+
}

0 commit comments

Comments
 (0)