Loading Cargo.lock +1 −0 Original line number Diff line number Diff line Loading @@ -2058,6 +2058,7 @@ dependencies = [ "chrono", "crc32c", "crc32fast", "crc64fast-nvme", "digest 0.11.0-pre.9", "futures", "hex-simd", Loading crates/s3s/Cargo.toml +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ zeroize = "1.8.1" std-next = "0.1.1" sync_wrapper = { version = "1.0.1", default-features = false } tokio = { version = "1.40.0", features = ["time"] } crc64fast-nvme = "1.2.0" [dev-dependencies] tokio = { version = "1.40.0", features = ["full"] } crates/s3s/src/checksum.rs +8 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ pub struct ChecksumHasher { pub crc32c: Option<crc32c::Crc32cHasher>, pub sha1: Option<sha1::Sha1>, pub sha256: Option<sha2::Sha256>, pub crc64nvme: Option<crc64fast_nvme::Digest>, } impl ChecksumHasher { Loading @@ -28,6 +29,9 @@ impl ChecksumHasher { if let Some(sha256) = &mut self.sha256 { sha256.update(data); } if let Some(crc64nvme) = &mut self.crc64nvme { crc64nvme.write(data); } } #[must_use] Loading @@ -49,6 +53,10 @@ impl ChecksumHasher { let sum = sha256.finalize(); ans.checksum_sha256 = Some(Self::base64(sum.as_ref())); } if let Some(crc64nvme) = self.crc64nvme { let sum = crc64nvme.sum64().to_be_bytes(); ans.checksum_crc64nvme = Some(Self::base64(&sum)); } ans } Loading Loading
Cargo.lock +1 −0 Original line number Diff line number Diff line Loading @@ -2058,6 +2058,7 @@ dependencies = [ "chrono", "crc32c", "crc32fast", "crc64fast-nvme", "digest 0.11.0-pre.9", "futures", "hex-simd", Loading
crates/s3s/Cargo.toml +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ zeroize = "1.8.1" std-next = "0.1.1" sync_wrapper = { version = "1.0.1", default-features = false } tokio = { version = "1.40.0", features = ["time"] } crc64fast-nvme = "1.2.0" [dev-dependencies] tokio = { version = "1.40.0", features = ["full"] }
crates/s3s/src/checksum.rs +8 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ pub struct ChecksumHasher { pub crc32c: Option<crc32c::Crc32cHasher>, pub sha1: Option<sha1::Sha1>, pub sha256: Option<sha2::Sha256>, pub crc64nvme: Option<crc64fast_nvme::Digest>, } impl ChecksumHasher { Loading @@ -28,6 +29,9 @@ impl ChecksumHasher { if let Some(sha256) = &mut self.sha256 { sha256.update(data); } if let Some(crc64nvme) = &mut self.crc64nvme { crc64nvme.write(data); } } #[must_use] Loading @@ -49,6 +53,10 @@ impl ChecksumHasher { let sum = sha256.finalize(); ans.checksum_sha256 = Some(Self::base64(sum.as_ref())); } if let Some(crc64nvme) = self.crc64nvme { let sum = crc64nvme.sum64().to_be_bytes(); ans.checksum_crc64nvme = Some(Self::base64(&sum)); } ans } Loading