pub struct Engine {
pub defs: BTreeMap<(String, i64), Machine>,
pub latest: BTreeMap<String, i64>,
pub instances: BTreeMap<InstanceId, Instance>,
pub clock: u64,
pub mode: Mode,
pub observer: Option<Box<dyn FnMut(&StepRecord) + Send>>,
/* private fields */
}Fields§
§defs: BTreeMap<(String, i64), Machine>§latest: BTreeMap<String, i64>§instances: BTreeMap<InstanceId, Instance>§clock: u64§mode: Mode§observer: Option<Box<dyn FnMut(&StepRecord) + Send>>Implementations§
Source§impl Engine
impl Engine
pub fn new() -> Self
pub fn set_observer<F: FnMut(&StepRecord) + Send + 'static>(&mut self, f: F)
pub fn register(&mut self, m: Machine)
pub fn def( &self, id: &str, version: Option<i64>, ) -> Result<&Machine, EngineError>
pub fn create_root( &mut self, id: &str, def_id: &str, version: Option<i64>, external: &BTreeMap<String, Value>, ) -> Result<(), EngineError>
pub fn instance(&self, id: &str) -> Result<&Instance, EngineError>
pub fn validate_event( &self, inst_id: &str, etype: &str, payload: &Value, ) -> Result<(), String>
pub fn inject( &mut self, inst_id: &str, etype: &str, payload: Value, ) -> Result<bool, EngineError>
pub fn send( &mut self, inst_id: &str, etype: &str, payload: Value, ) -> Result<RunResult, EngineError>
pub fn advance(&mut self, duration_ms: u64) -> Result<RunResult, EngineError>
pub fn step( &mut self, inst_id: &str, n: usize, ) -> Result<Vec<StepRecord>, EngineError>
pub fn env_change( &mut self, inst_id: &str, changed: BTreeMap<String, Value>, ) -> Result<RunResult, EngineError>
pub fn set_mode(&mut self, mode: Mode)
pub fn get_mode(&self) -> Mode
Sourcepub fn migrate_quiescent(&mut self) -> Result<(), EngineError>
pub fn migrate_quiescent(&mut self) -> Result<(), EngineError>
Migrate eligible quiescent instances to a newer registered version (SPEC §10.2).
pub fn state_view(&self, inst_id: &str) -> Result<StateView, EngineError>
pub fn list_view(&self) -> Vec<ListView>
pub fn inspect_view(&self, inst_id: &str) -> Result<InspectView, EngineError>
Sourcepub fn enabled_events(&self, inst_id: &str) -> Result<Vec<String>, EngineError>
pub fn enabled_events(&self, inst_id: &str) -> Result<Vec<String>, EngineError>
enabled_events(instance) — sorted declared event types the current active
configuration can handle (SPEC §14).
pub fn snapshot(&self, inst_id: &str) -> Result<Snapshot, EngineError>
pub fn restore(&mut self, snap: Snapshot) -> Result<(), EngineError>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Engine
impl !Sync for Engine
impl !UnwindSafe for Engine
impl Freeze for Engine
impl Send for Engine
impl Unpin for Engine
impl UnsafeUnpin for Engine
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
Attempts to downcast this to
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
Attempts to downcast this to
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
Attempts to downcast this to
T behind Arc pointerSource§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