summaryrefslogtreecommitdiff
path: root/src/io.rs
diff options
context:
space:
mode:
authorKim Altintop <kim@eagain.io>2023-04-13 16:50:24 +0200
committerKim Altintop <kim@eagain.io>2023-04-13 17:10:18 +0200
commit8ce1155a1eb490625a7e949a10c4283b4b773d30 (patch)
tree4ece9c129b032bed209df94ba520f7a3c940e310 /src/io.rs
parent607a5609f858cd707dca3a936d80a7a9539b4b5a (diff)
core: replace bundle checksum with BLAKE3
BLAKE3 has a verified streaming mode (Bao), which allows variable chunk sizes without altering the root hash. This means that a BLAKE3 hash can serve as a long-term stable content address in location-independent storage (as demonstrated by iroh). Signed-off-by: Kim Altintop <kim@eagain.io>
Diffstat (limited to 'src/io.rs')
-rw-r--r--src/io.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/io.rs b/src/io.rs
index 86f91c6..324d12c 100644
--- a/src/io.rs
+++ b/src/io.rs
@@ -1,10 +1,7 @@
// Copyright © 2022 Kim Altintop <kim@eagain.io>
// SPDX-License-Identifier: GPL-2.0-only WITH openvpn-openssl-exception
-use sha2::{
- digest::generic_array::GenericArray,
- Digest,
-};
+use digest::Digest;
/// Created by [`Lines::until_blank`], stops iteration at the first blank line.
pub struct UntilBlank<B> {
@@ -94,8 +91,8 @@ impl<D, W> HashWriter<D, W>
where
D: Digest,
{
- pub fn hash(self) -> GenericArray<u8, D::OutputSize> {
- self.hasher.finalize()
+ pub fn hasher(&self) -> &D {
+ &self.hasher
}
}