optimize:replace size magic number -1 with SIZE_TRANSFORMED constant (#1542)

This commit is contained in:
LeonWang0735
2026-01-17 19:24:44 +08:00
committed by GitHub
parent 76fa86fdc5
commit 3012119b81
2 changed files with 9 additions and 6 deletions

View File

@@ -161,6 +161,8 @@ pin_project! {
}
impl HashReader {
/// Used for transformation layers (compression/encryption)
pub const SIZE_PRESERVE_LAYER: i64 = -1;
pub fn new(
mut inner: Box<dyn Reader>,
size: i64,
@@ -169,7 +171,8 @@ impl HashReader {
sha256hex: Option<String>,
diskable_md5: bool,
) -> std::io::Result<Self> {
if size >= 0
// Get the innermost HashReader
if size != Self::SIZE_PRESERVE_LAYER
&& let Some(existing_hash_reader) = inner.as_hash_reader_mut()
{
if existing_hash_reader.bytes_read() > 0 {

View File

@@ -670,7 +670,7 @@ impl FS {
let hrd = HashReader::new(reader, size, actual_size, None, None, false).map_err(ApiError::from)?;
reader = Box::new(CompressReader::new(hrd, CompressionAlgorithm::default()));
size = -1;
size = HashReader::SIZE_PRESERVE_LAYER;
}
let hrd = HashReader::new(reader, size, actual_size, None, None, false).map_err(ApiError::from)?;
@@ -1222,7 +1222,7 @@ impl S3 for FS {
// let hrd = HashReader::new(reader, length, actual_size, None, false).map_err(ApiError::from)?;
reader = Box::new(CompressReader::new(hrd, CompressionAlgorithm::default()));
length = -1;
length = HashReader::SIZE_PRESERVE_LAYER;
} else {
src_info
.user_defined
@@ -3699,7 +3699,7 @@ impl S3 for FS {
opts.want_checksum = hrd.checksum();
reader = Box::new(CompressReader::new(hrd, CompressionAlgorithm::default()));
size = -1;
size = HashReader::SIZE_PRESERVE_LAYER;
md5hex = None;
sha256hex = None;
}
@@ -4211,7 +4211,7 @@ impl S3 for FS {
let compress_reader = CompressReader::new(hrd, CompressionAlgorithm::default());
reader = Box::new(compress_reader);
size = -1;
size = HashReader::SIZE_PRESERVE_LAYER;
md5hex = None;
sha256hex = None;
}
@@ -4439,7 +4439,7 @@ impl S3 for FS {
if is_compressible {
let hrd = HashReader::new(reader, size, actual_size, None, None, false).map_err(ApiError::from)?;
reader = Box::new(CompressReader::new(hrd, CompressionAlgorithm::default()));
size = -1;
size = HashReader::SIZE_PRESERVE_LAYER;
}
let mut reader = HashReader::new(reader, size, actual_size, None, None, false).map_err(ApiError::from)?;