(&mut self, data: &[u8], vm: &VirtualMachine)
| 228 | } |
| 229 | |
| 230 | pub fn compress(&mut self, data: &[u8], vm: &VirtualMachine) -> PyResult<Vec<u8>> { |
| 231 | let mut buf = Vec::new(); |
| 232 | let compressor = self.get_compressor(vm)?; |
| 233 | |
| 234 | for mut chunk in data.chunks(C::CHUNKSIZE) { |
| 235 | while !chunk.is_empty() { |
| 236 | buf.reserve(C::DEF_BUF_SIZE); |
| 237 | let prev_in = compressor.total_in(); |
| 238 | compressor.compress_vec(chunk, &mut buf, C::Flush::NONE, vm)?; |
| 239 | let consumed = compressor.total_in() - prev_in; |
| 240 | chunk = &chunk[consumed..]; |
| 241 | } |
| 242 | } |
| 243 | |
| 244 | buf.shrink_to_fit(); |
| 245 | Ok(buf) |
| 246 | } |
| 247 | |
| 248 | pub fn flush(&mut self, mode: C::Flush, vm: &VirtualMachine) -> PyResult<Vec<u8>> { |
| 249 | let mut buf = Vec::new(); |
no test coverage detected