#![allow(clippy::too_many_arguments, clippy::large_enum_variant)] use std::collections::{HashMap, HashSet, VecDeque}; use std::sync::mpsc::{self, Receiver, SyncSender, TryRecvError, TrySendError}; use std::time::{Duration, Instant}; use crate::output::audit::{DiscoveredFrom, PublicationPointAudit}; use crate::output::report::Warning; use crate::scheduler::object_worker::{ ObjectTaskExecutor, ObjectWorkerSubmitError, ScopedObjectWorkerPool, }; use crate::scheduler::repo_runtime::{RepoSyncRequestStatus, RepoSyncRuntimeOutcome}; use crate::scheduler::types::RepoIdentity; use crate::validation::manifest::PublicationPointData; use crate::validation::objects::{ ObjectsOutput, OwnedRoaTask, ParallelObjectsPrepare, ParallelObjectsStage, prepare_publication_point_for_parallel_roa_and_ta_constraints, reduce_parallel_roa_stage, }; use crate::validation::policy::SignedObjectFailurePolicy; use crate::validation::tree::{ CaInstanceHandle, DiscoveredChildCaInstance, PublicationPointRunResult, PublicationPointRunner, TreeRunAuditOutput, TreeRunConfig, TreeRunError, TreeRunOutput, ca_depth_is_allowed, next_allowed_ca_depth, run_tree_serial_audit_multi_root, }; use crate::validation::tree_runner::{ FreshPublicationPointFinalizeOutput, FreshPublicationPointStage, Rpkiv1PublicationPointRunner, }; include!("tree_parallel/state.rs"); include!("tree_parallel/phase2.rs"); include!("tree_parallel/ready_stage.rs"); include!("tree_parallel/dispatch.rs"); include!("tree_parallel/finalize.rs");