use crate::;
/// Unique identifier for a process within the simulation. Ranks are assigned
/// sequentially starting from 0 in the order pools are added.
pub type Rank = usize;
/// Core trait for defining process behavior in the simulation.
///
/// Each process reacts to three kinds of events: startup, incoming messages,
/// and timer firings. Inside any handler you may call the global interaction
/// functions ([`crate::send_to`], [`crate::broadcast`], [`crate::schedule_timer_after`], etc.).