chore: initial sanitized public snapshot

This commit is contained in:
Aria2 Rust Pro Contributors
2026-07-18 14:51:59 +08:00
commit 14dcf8c9bf
321 changed files with 76893 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
#![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;