pub struct DispatchManifest { /* private fields */ }Expand description
Full demand picture for dispatch decisions.
Contains per-rider metadata grouped by stop, enabling entity-aware dispatch strategies (priority, weight-aware, VIP-first, etc.).
Uses BTreeMap for deterministic iteration order.
Implementations§
Source§impl DispatchManifest
impl DispatchManifest
Sourcepub fn waiting_count_at(&self, stop: EntityId) -> usize
pub fn waiting_count_at(&self, stop: EntityId) -> usize
Number of riders waiting at a stop.
Sourcepub fn total_weight_at(&self, stop: EntityId) -> f64
pub fn total_weight_at(&self, stop: EntityId) -> f64
Total weight of riders waiting at a stop.
Sourcepub fn riding_count_to(&self, stop: EntityId) -> usize
pub fn riding_count_to(&self, stop: EntityId) -> usize
Number of riders heading to a stop (aboard elevators).
Sourcepub fn has_demand(&self, stop: EntityId) -> bool
pub fn has_demand(&self, stop: EntityId) -> bool
Whether a stop has any demand (waiting riders or riders heading there).
Sourcepub fn resident_count_at(&self, stop: EntityId) -> usize
pub fn resident_count_at(&self, stop: EntityId) -> usize
Number of residents at a stop (read-only hint, not active demand).
Sourcepub fn hall_call_at(
&self,
stop: EntityId,
direction: CallDirection,
) -> Option<&HallCall>
pub fn hall_call_at( &self, stop: EntityId, direction: CallDirection, ) -> Option<&HallCall>
The hall call at (stop, direction), if pressed.
Sourcepub fn iter_hall_calls(&self) -> impl Iterator<Item = &HallCall>
pub fn iter_hall_calls(&self) -> impl Iterator<Item = &HallCall>
All hall calls across every stop in the group (flattened iterator).
No #[must_use] needed: impl Iterator already carries that
annotation, and adding our own triggers clippy’s
double_must_use lint.
Sourcepub fn car_calls_for(&self, car: EntityId) -> &[CarCall]
pub fn car_calls_for(&self, car: EntityId) -> &[CarCall]
Floor buttons currently pressed inside car. Empty slice if the
car has no aboard riders or no outstanding presses.
Sourcepub fn waiting_riders_at(&self, stop: EntityId) -> &[RiderInfo]
pub fn waiting_riders_at(&self, stop: EntityId) -> &[RiderInfo]
Riders waiting at a specific stop.
Sourcepub fn iter_waiting_stops(
&self,
) -> impl Iterator<Item = (&EntityId, &[RiderInfo])>
pub fn iter_waiting_stops( &self, ) -> impl Iterator<Item = (&EntityId, &[RiderInfo])>
Iterate over all (stop, riders) pairs with waiting demand.
Sourcepub fn riding_riders_to(&self, stop: EntityId) -> &[RiderInfo]
pub fn riding_riders_to(&self, stop: EntityId) -> &[RiderInfo]
Riders currently riding toward a specific stop.
Sourcepub fn iter_riding_stops(
&self,
) -> impl Iterator<Item = (&EntityId, &[RiderInfo])>
pub fn iter_riding_stops( &self, ) -> impl Iterator<Item = (&EntityId, &[RiderInfo])>
Iterate over all (stop, riders) pairs with in-transit demand.
Sourcepub fn iter_hall_call_stops(
&self,
) -> impl Iterator<Item = (&EntityId, &[HallCall])>
pub fn iter_hall_call_stops( &self, ) -> impl Iterator<Item = (&EntityId, &[HallCall])>
Iterate over all (stop, hall_calls) pairs with active calls.
Trait Implementations§
Source§impl Clone for DispatchManifest
impl Clone for DispatchManifest
Source§fn clone(&self) -> DispatchManifest
fn clone(&self) -> DispatchManifest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more