pub fn evaluate(
candidates: &[QueueCandidate],
config: &QueueConfig,
) -> QueueDecisionExpand description
Evaluate the queue and decide which torrents to start/stop.
Negative limits mean “unlimited” for that category.
Checking torrents are processed first (transient, shouldn’t be blocked by
DL/seed slot accounting). They count toward active_limit but NOT toward
active_downloads or active_seeds.
Seeding group is sorted by seed_rank descending (higher demand first),
breaking ties by queue position.