Allow user to specify the output buffer size as well
This commit is contained in:
parent
986a27f047
commit
548f21d92f
1 changed files with 6 additions and 4 deletions
|
|
@ -59,13 +59,15 @@ impl Deflater for Deflaters {
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
pub struct BufferedZopfliDeflater {
|
pub struct BufferedZopfliDeflater {
|
||||||
iterations: NonZeroU8,
|
iterations: NonZeroU8,
|
||||||
buffer_size: usize
|
input_buffer_size: usize,
|
||||||
|
output_buffer_size: usize
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BufferedZopfliDeflater {
|
impl BufferedZopfliDeflater {
|
||||||
pub const fn new(iterations: NonZeroU8,
|
pub const fn new(iterations: NonZeroU8,
|
||||||
buffer_size: usize) -> Self {
|
input_buffer_size: usize,
|
||||||
BufferedZopfliDeflater {iterations, buffer_size}
|
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,
|
iteration_count: self.iterations,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let mut buffer = BufWriter::with_capacity(self.buffer_size,
|
let mut buffer = BufWriter::with_capacity(self.input_buffer_size,
|
||||||
DeflateEncoder::new(
|
DeflateEncoder::new(
|
||||||
options, Default::default(), Cursor::new(Vec::new())));
|
options, Default::default(), Cursor::new(Vec::new())));
|
||||||
let result = (|| -> io::Result<Vec<u8>> {
|
let result = (|| -> io::Result<Vec<u8>> {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue