59 lines
2.3 KiB
Rust
59 lines
2.3 KiB
Rust
#![doc = "Core runtime, scheduling, and request-state primitives for aria2-rust-pro."]
|
|
#![forbid(unsafe_code)]
|
|
#![expect(
|
|
clippy::if_not_else,
|
|
clippy::missing_const_for_fn,
|
|
clippy::missing_errors_doc,
|
|
clippy::must_use_candidate,
|
|
clippy::needless_pass_by_value,
|
|
clippy::struct_excessive_bools,
|
|
clippy::struct_field_names,
|
|
clippy::use_self,
|
|
reason = "core crate exposes compatibility-oriented runtime models where strict style lints add noise"
|
|
)]
|
|
|
|
/// Download engine orchestration, queue management, and session persistence.
|
|
mod engine;
|
|
/// Error types returned by the core crate.
|
|
mod error;
|
|
/// Runtime event types and the in-memory event bus.
|
|
mod events;
|
|
/// Typed option keys, values, and patches.
|
|
mod options;
|
|
/// Piece identifiers, piece ranges, and piece-state storage.
|
|
mod piece;
|
|
/// Aggregated progress and statistics snapshots.
|
|
mod progress;
|
|
/// Request, `BitTorrent`, and segment runtime state models.
|
|
mod request;
|
|
/// Runtime configuration and human-readable size parsing helpers.
|
|
mod runtime;
|
|
/// Download scheduling policies, planning, and observations.
|
|
mod scheduler;
|
|
/// Session state, global options, and persistence bridge data.
|
|
mod session;
|
|
|
|
pub use engine::{
|
|
DownloadEngine, DownloadHandle, DownloadRegistry, DownloadRuntimeSnapshot, QueuePositionMode,
|
|
RuntimeInstrumentationSnapshot,
|
|
};
|
|
pub use error::{CoreError, ErrorCode, Result};
|
|
pub use events::{EventBus, EventListener, RuntimeEvent, RuntimeEventKind};
|
|
pub use options::{OptionKey, OptionPatch, OptionValue};
|
|
pub use piece::{PieceId, PieceMap, PieceRange, PieceState};
|
|
pub use progress::{GlobalStat, GoalProgress, ProgressSnapshot, WorkState};
|
|
pub use request::{
|
|
BtFileInfo, BtPeerInfo, BtPieceAvailabilityUpdate, BtPressureSnapshot, BtRuntimeState,
|
|
BtTrackerInfo, DownloadId, DownloadStatus, RequestContext, RequestGroup, ResumeState,
|
|
RetryAttempt, SegmentAssignment, SegmentRuntimeStats, SegmentState,
|
|
};
|
|
pub use runtime::RuntimeConfig;
|
|
pub use scheduler::{
|
|
ScheduleDecision, ScheduleDecisionKind, Scheduler, SchedulerActivityCounters,
|
|
SchedulerPlanningObservation, SchedulerPolicy, SchedulerState,
|
|
};
|
|
pub use session::{GlobalOptions, SaveSessionTarget, Session, SessionState};
|
|
|
|
/// Convenience alias for the primary download task model.
|
|
pub type DownloadTask = RequestGroup;
|