pub struct GroupConfig {
pub id: u32,
pub name: String,
pub lines: Vec<u32>,
pub dispatch: BuiltinStrategy,
pub reposition: Option<BuiltinReposition>,
pub hall_call_mode: Option<HallCallMode>,
pub ack_latency_ticks: Option<u32>,
}Expand description
Configuration for an elevator dispatch group.
A group is the logical dispatch unit containing one or more lines.
All elevators within the group share a single BuiltinStrategy.
§RON example — destination dispatch with controller latency
GroupConfig(
id: 0,
name: "Main",
lines: [1],
dispatch: Destination,
hall_call_mode: Some(Destination),
ack_latency_ticks: Some(15),
)hall_call_mode and ack_latency_ticks are optional; omitting them
keeps the legacy behavior (Classic collective control, zero latency).
Fields§
§id: u32Unique group identifier.
name: StringHuman-readable name.
lines: Vec<u32>Line IDs belonging to this group (references LineConfig::id).
dispatch: BuiltinStrategyDispatch strategy for this group.
reposition: Option<BuiltinReposition>Optional repositioning strategy for idle elevators.
When None, idle elevators in this group stay where they stopped.
hall_call_mode: Option<HallCallMode>How hall calls reveal rider destinations to dispatch.
None defers to HallCallMode::default() (Classic collective
control). Set to Some(HallCallMode::Destination) to model a
DCS lobby-kiosk group, which is required to make
crate::dispatch::DestinationDispatch consult hall-call
destinations.
ack_latency_ticks: Option<u32>Controller ack latency in ticks (button press → dispatch sees
the call). None means zero — dispatch sees presses immediately.
Realistic values at 60 Hz land around 5–30 ticks.
Trait Implementations§
Source§impl Clone for GroupConfig
impl Clone for GroupConfig
Source§fn clone(&self) -> GroupConfig
fn clone(&self) -> GroupConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more