From 0809fb0ff525774b90c2a0d33b4b42752bc60b41 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 9 Nov 2020 10:25:45 +0200 Subject: refactor: move sha256 checksumming to its own module --- src/chunker.rs | 8 ++------ src/client.rs | 4 +++- src/lib.rs | 1 + 3 files changed, 6 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/chunker.rs b/src/chunker.rs index f4ca74c..145b1db 100644 --- a/src/chunker.rs +++ b/src/chunker.rs @@ -1,6 +1,6 @@ +use crate::checksummer::sha256; use crate::chunk::DataChunk; use crate::chunkmeta::ChunkMeta; -use sha2::{Digest, Sha256}; use std::io::prelude::*; pub struct Chunker { @@ -36,12 +36,8 @@ impl Chunker { } let buffer = &self.buf.as_slice()[..used]; - let mut hasher = Sha256::new(); - hasher.update(buffer); - let hash = hasher.finalize(); - let hash = format!("{:x}", hash); + let hash = sha256(buffer); let meta = ChunkMeta::new(&hash); - let chunk = DataChunk::new(buffer.to_vec()); Ok(Some((meta, chunk))) } diff --git a/src/client.rs b/src/client.rs index 1dbe1d0..24d961a 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,3 +1,4 @@ +use crate::checksummer::sha256; use crate::chunk::DataChunk; use crate::chunk::GenerationChunk; use crate::chunker::Chunker; @@ -62,7 +63,8 @@ impl BackupClient { pub fn upload_generation(&self, filename: &Path, size: usize) -> anyhow::Result { let ids = self.read_file(filename, size)?; let gen = GenerationChunk::new(ids); - let meta = ChunkMeta::new_generation("checksum", "endtime"); + let data = gen.to_data_chunk()?; + let meta = ChunkMeta::new_generation(&sha256(data.data()), "timestamp"); let gen_id = self.upload_gen_chunk(meta, gen)?; Ok(gen_id) } diff --git a/src/lib.rs b/src/lib.rs index be9a508..f72ea56 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ +pub mod checksummer; pub mod chunk; pub mod chunker; pub mod chunkid; -- cgit v1.2.1