add changelog and missing file

This commit is contained in:
John Smith
2023-08-19 18:24:25 -04:00
parent eae839e484
commit a9c13d45fd
2 changed files with 33 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
use super::*;
use lz4_flex::block;
use crate::apibail_generic;
pub fn compress_prepend_size(input: &[u8]) -> Vec<u8> {
block::compress_prepend_size(input)
}
pub fn decompress_size_prepended(
input: &[u8],
max_size: Option<usize>,
) -> VeilidAPIResult<Vec<u8>> {
let (uncompressed_size, input) =
block::uncompressed_size(input).map_err(VeilidAPIError::generic)?;
if let Some(max_size) = max_size {
if uncompressed_size > max_size {
apibail_generic!(format!(
"decompression exceeded maximum size: {} > {}",
uncompressed_size, max_size
));
}
}
Ok(block::decompress(input, uncompressed_size).map_err(VeilidAPIError::generic)?)
}