Allow user to specify the output buffer size as well

This commit is contained in:
Chris Hennick 2023-06-18 13:41:17 -07:00
parent 986a27f047
commit 548f21d92f
No known key found for this signature in database
GPG key ID: 25653935CC8B6C74

View file

@ -59,13 +59,15 @@ impl Deflater for Deflaters {
#[derive(Copy, Clone, Debug)]
pub struct BufferedZopfliDeflater {
iterations: NonZeroU8,
buffer_size: usize
input_buffer_size: usize,
output_buffer_size: usize
}
impl BufferedZopfliDeflater {
pub const fn new(iterations: NonZeroU8,
buffer_size: usize) -> Self {
BufferedZopfliDeflater {iterations, buffer_size}
input_buffer_size: usize,
output_buffer_size: usize) -> Self {
BufferedZopfliDeflater {iterations, input_buffer_size, output_buffer_size }
}
}
@ -76,7 +78,7 @@ impl Deflater for BufferedZopfliDeflater {
iteration_count: self.iterations,
..Default::default()
};
let mut buffer = BufWriter::with_capacity(self.buffer_size,
let mut buffer = BufWriter::with_capacity(self.input_buffer_size,
DeflateEncoder::new(
options, Default::default(), Cursor::new(Vec::new())));
let result = (|| -> io::Result<Vec<u8>> {