Skip to main content

Crate hya_core

Crate hya_core 

Source
Expand description

HYDRA scheduler core: multi-source download scheduler state machine with no I/O dependencies.

Key principles:

  • Dynamic range partitioning: HTTP byte ranges are tracked client-side, allowing slow or stalled connections to be repartitioned and assigned to faster connections dynamically.
  • Liveness: every reachable state has an enabled transition that decreases remaining work within a bounded window.
  • Safety: byte coverage invariants are strictly verified without gaps or duplicate allocations.

Safety (coverage_holds) and liveness (liveness_holds) properties are both verified through property-based testing.

Re-exports§

pub use admission::Admission;
pub use admission::Admit;
pub use admission::DeltaEstimator;
pub use detect::CollapseDetector;
pub use detect::Health;
pub use format::catalogue;
pub use format::describe;
pub use format::detect_format;
pub use format::from_extension as from_extension_pub;
pub use format::known_extensions;
pub use format::Category;
pub use format::Detection;
pub use format::Evidence;
pub use format::Format;
pub use intervals::IntervalSet;
pub use intervals::Range;
pub use ramp::ConcurrencyRamp;
pub use ramp::Ramp;
pub use sched::greedy_concurrency;
pub use sched::Action;
pub use sched::Capability;
pub use sched::Scheduler;
pub use sched::Source;
pub use sched::Stats;
pub use sched::STEAL_QUANTUM;

Modules§

admission
Online concurrency admission: dynamically probe and scale connection counts based on measured marginal goodput.
detect
Fast collapse detection for connection goodput.
format
File-format classification from magic bytes, extension, and media type.
intervals
Byte-range set with a maintained coverage invariant.
ramp
In-band concurrency ramp: find the useful connection count during the transfer, not before it.
sched
The scheduler kernel: pure state machine, no I/O, no clock, no allocation in the steady state.