Make store_worker generic over chunk submission target
This commit is contained in:
parent
c73ac35df1
commit
202c7c57fd
|
@ -26,7 +26,7 @@ use crossbeam_channel::{Receiver, Sender};
|
|||
use crossbeam_utils::thread;
|
||||
use log::{error, warn};
|
||||
|
||||
use crate::chunking::{RecursiveChunker, SENSIBLE_THRESHOLD};
|
||||
use crate::chunking::{ChunkSubmissionTarget, RecursiveChunker, SENSIBLE_THRESHOLD};
|
||||
use crate::commands;
|
||||
use crate::commands::{fully_integrate_pointer_node, retrieve_tree_node};
|
||||
use crate::definitions::{PointerData, RecursiveChunkRef, RootTreeNode, TreeNode};
|
||||
|
@ -83,9 +83,9 @@ pub fn store<RP: RawPile, PT: ProgressTracker>(
|
|||
}
|
||||
}
|
||||
|
||||
pub fn store_worker<RP: RawPile>(
|
||||
pub fn store_worker<CST: ChunkSubmissionTarget>(
|
||||
root: &Path,
|
||||
pile: &Pile<RP>,
|
||||
target: &CST,
|
||||
paths: Receiver<String>,
|
||||
results: Sender<(String, Option<RecursiveChunkRef>)>,
|
||||
) -> anyhow::Result<()> {
|
||||
|
@ -93,7 +93,7 @@ pub fn store_worker<RP: RawPile>(
|
|||
let full_path = root.join(&path);
|
||||
match File::open(&full_path) {
|
||||
Ok(mut file) => {
|
||||
let mut chunker = RecursiveChunker::new(SENSIBLE_THRESHOLD, pile);
|
||||
let mut chunker = RecursiveChunker::new(SENSIBLE_THRESHOLD, target);
|
||||
// streaming copy from file to chunker, really cool :)
|
||||
io::copy(&mut file, &mut chunker)?;
|
||||
let chunk_ref = chunker.finish()?;
|
||||
|
|
Loading…
Reference in New Issue