pub mod cache;
pub mod client;
pub mod coordinator;
pub mod hash;
pub mod manifest;
pub mod models;
pub mod queue;
pub mod worker;
pub use cache::{
CacheConfig, CacheManager, CacheStats, ReservationInfo, ReservationState, ReservationStatus,
VerificationFailure, VerificationReport,
};
pub use client::{CedaClient, ClientConfig};
pub use coordinator::{Coordinator, CoordinatorConfig, DownloadStats, SessionResult};
pub use hash::Md5Hash;
pub use manifest::{
collect_all_files, collect_datasets_and_years, fill_queue_from_manifest, filter_manifest_files,
get_selection_options, validate_manifest, DatasetSummary, ManifestConfig, ManifestStats,
ManifestStreamer,
};
pub use models::{
generate_file_id, parse_manifest_line, DatasetFileInfo, FileInfo, QualityControlVersion,
};
pub use queue::{QueueStats, WorkInfo, WorkQueue, WorkQueueConfig, WorkStatus};
pub use worker::{
DownloadWorker, WorkerConfig, WorkerPool, WorkerPoolStats, WorkerProgress, WorkerStatus,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_module_structure() {
let config = ClientConfig::default();
assert!(config.tcp_nodelay);
}
}