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, PathGenerator, 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, ManifestVersionManager,
};
pub use models::{
generate_file_id, parse_manifest_line, DatasetFileInfo, FileInfo, QualityControlVersion,
};
pub use queue::{
ConfigPresets, QueueStats, StatsReporter, WorkInfo, WorkQueue, WorkQueueConfig, WorkStatus,
};
pub use worker::{
ConfigPresets as WorkerConfigPresets, DownloadWorker, PerformanceMetrics,
StatsReporter as WorkerStatsReporter, WorkerConfig, WorkerPool, WorkerPoolStats,
WorkerProgress, WorkerStatus,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_module_structure() {
let config = ClientConfig::default();
assert!(config.tcp_nodelay);
}
}