49 lines
1.5 KiB
Rust
49 lines
1.5 KiB
Rust
// Audit report construction and online validation orchestration.
|
|
|
|
fn run_online_validation_with_fetchers<H, R>(
|
|
store: Arc<RocksStore>,
|
|
policy: &Policy,
|
|
args: &RunConfig,
|
|
http: &H,
|
|
rsync: &R,
|
|
validation_time: time::OffsetDateTime,
|
|
config: &TreeRunConfig,
|
|
collect_current_repo_objects: bool,
|
|
timing: Option<&TimingHandle>,
|
|
) -> Result<RunTreeFromTalAuditOutput, String>
|
|
where
|
|
H: crate::repository::sync::rrdp::Fetcher + Clone + 'static,
|
|
R: crate::repository::fetch::rsync::RsyncFetcher + Clone + 'static,
|
|
{
|
|
// One scheduler entry preserves explicit TAL identities for one or many roots.
|
|
if let Some(t) = timing {
|
|
run_tree_from_multiple_tals_parallel_phase2_audit_with_timing(
|
|
store,
|
|
policy,
|
|
args.tal_inputs.clone(),
|
|
http,
|
|
rsync,
|
|
validation_time,
|
|
config,
|
|
args.parallel_phase1_config.clone(),
|
|
args.parallel_phase2_config.clone(),
|
|
collect_current_repo_objects,
|
|
t,
|
|
)
|
|
} else {
|
|
run_tree_from_multiple_tals_parallel_phase2_audit(
|
|
store,
|
|
policy,
|
|
args.tal_inputs.clone(),
|
|
http,
|
|
rsync,
|
|
validation_time,
|
|
config,
|
|
args.parallel_phase1_config.clone(),
|
|
args.parallel_phase2_config.clone(),
|
|
collect_current_repo_objects,
|
|
)
|
|
}
|
|
.map_err(|error| error.to_string())
|
|
}
|