pub struct ScanDispatch { /* private fields */ }Expand description
Elevator dispatch using the SCAN (elevator) algorithm.
Each car tracks a sweep direction; stops demanded in that direction
receive a positional cost while stops behind are excluded. When
nothing remains ahead, the sweep reverses and the car considers the
reverse side. Direction and mode are resolved once per pass in
DispatchStrategy::prepare_car so ranking is independent of the
iteration order over stops.
Implementations§
Source§impl ScanDispatch
impl ScanDispatch
Trait Implementations§
Source§impl Default for ScanDispatch
impl Default for ScanDispatch
Source§impl<'de> Deserialize<'de> for ScanDispatch
impl<'de> Deserialize<'de> for ScanDispatch
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl DispatchStrategy for ScanDispatch
impl DispatchStrategy for ScanDispatch
Source§fn prepare_car(
&mut self,
car: EntityId,
car_position: f64,
group: &ElevatorGroup,
manifest: &DispatchManifest,
world: &World,
)
fn prepare_car( &mut self, car: EntityId, car_position: f64, group: &ElevatorGroup, manifest: &DispatchManifest, world: &World, )
Source§fn notify_removed(&mut self, elevator: EntityId)
fn notify_removed(&mut self, elevator: EntityId)
Notify the strategy that an elevator has been removed. Read more
Source§fn builtin_id(&self) -> Option<BuiltinStrategy>
fn builtin_id(&self) -> Option<BuiltinStrategy>
If this strategy is a known built-in variant, return it so
Simulation::new can stamp the
correct BuiltinStrategy into the group’s snapshot identity. Read moreSource§fn snapshot_config(&self) -> Option<String>
fn snapshot_config(&self) -> Option<String>
Serialize this strategy’s tunable configuration to a string
that
restore_config can apply to a
freshly-instantiated instance. Read moreSource§fn restore_config(&mut self, serialized: &str) -> Result<(), String>
fn restore_config(&mut self, serialized: &str) -> Result<(), String>
Restore tunable configuration from a string previously produced
by
snapshot_config on the same
strategy variant. Called by
crate::snapshot::WorldSnapshot::restore immediately after
BuiltinStrategy::instantiate builds the default instance,
so the restore writes over the defaults. Read moreSource§fn pre_dispatch(
&mut self,
_group: &ElevatorGroup,
_manifest: &DispatchManifest,
_world: &mut World,
)
fn pre_dispatch( &mut self, _group: &ElevatorGroup, _manifest: &DispatchManifest, _world: &mut World, )
Optional hook called once per group before the assignment pass. Read more
Source§fn fallback(
&mut self,
_car: EntityId,
_car_position: f64,
_group: &ElevatorGroup,
_manifest: &DispatchManifest,
_world: &World,
) -> DispatchDecision
fn fallback( &mut self, _car: EntityId, _car_position: f64, _group: &ElevatorGroup, _manifest: &DispatchManifest, _world: &World, ) -> DispatchDecision
Decide what an idle car should do when no stop was assigned to it. Read more
Auto Trait Implementations§
impl Freeze for ScanDispatch
impl RefUnwindSafe for ScanDispatch
impl Send for ScanDispatch
impl Sync for ScanDispatch
impl Unpin for ScanDispatch
impl UnsafeUnpin for ScanDispatch
impl UnwindSafe for ScanDispatch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more