Trait finny::FsmTransitionFsmStart
source · [−]pub trait FsmTransitionFsmStart<F: FsmBackend, TInitialState> {
fn execute_transition<'a, 'b, 'c, 'd, Q: FsmEventQueue<F>, I, T>(
context: &'d mut DispatchContext<'a, 'b, 'c, F, Q, I, T>,
_fsm_event: &FsmEvent<<F as FsmBackend>::Events, <F as FsmBackend>::Timers>,
region: FsmRegionId,
inspect_event_ctx: &mut I
)
where
I: Inspect,
TInitialState: FsmState<F>,
<F as FsmBackend>::States: AsMut<TInitialState>,
<F as FsmBackend>::States: AsRef<TInitialState>,
Self: Sized,
T: FsmTimers<F>,
{ ... }
fn execute_on_sub_entry<'a, 'b, 'c, 'd, Q, I, T>(
context: &'d mut DispatchContext<'a, 'b, 'c, F, Q, I, T>,
_region: FsmRegionId,
inspect_event_ctx: &mut I
) -> FsmDispatchResult
where
TInitialState: FsmBackend,
Q: FsmEventQueue<F>,
I: Inspect,
<F as FsmBackend>::Events: From<<TInitialState as FsmBackend>::Events>,
<F as FsmBackend>::States: AsMut<TInitialState>,
TInitialState: DerefMut<Target = FsmBackendImpl<TInitialState>>,
T: FsmTimers<F>,
<F as FsmBackend>::Timers: From<<TInitialState as FsmBackend>::Timers>,
{ ... }
}
Expand description
The transition that starts the machine, triggered using the start()
method.
Provided methods
fn execute_transition<'a, 'b, 'c, 'd, Q: FsmEventQueue<F>, I, T>(
context: &'d mut DispatchContext<'a, 'b, 'c, F, Q, I, T>,
_fsm_event: &FsmEvent<<F as FsmBackend>::Events, <F as FsmBackend>::Timers>,
region: FsmRegionId,
inspect_event_ctx: &mut I
) where
I: Inspect,
TInitialState: FsmState<F>,
<F as FsmBackend>::States: AsMut<TInitialState>,
<F as FsmBackend>::States: AsRef<TInitialState>,
Self: Sized,
T: FsmTimers<F>,
fn execute_on_sub_entry<'a, 'b, 'c, 'd, Q, I, T>(
context: &'d mut DispatchContext<'a, 'b, 'c, F, Q, I, T>,
_region: FsmRegionId,
inspect_event_ctx: &mut I
) -> FsmDispatchResult where
TInitialState: FsmBackend,
Q: FsmEventQueue<F>,
I: Inspect,
<F as FsmBackend>::Events: From<<TInitialState as FsmBackend>::Events>,
<F as FsmBackend>::States: AsMut<TInitialState>,
TInitialState: DerefMut<Target = FsmBackendImpl<TInitialState>>,
T: FsmTimers<F>,
<F as FsmBackend>::Timers: From<<TInitialState as FsmBackend>::Timers>,
fn execute_on_sub_entry<'a, 'b, 'c, 'd, Q, I, T>(
context: &'d mut DispatchContext<'a, 'b, 'c, F, Q, I, T>,
_region: FsmRegionId,
inspect_event_ctx: &mut I
) -> FsmDispatchResult where
TInitialState: FsmBackend,
Q: FsmEventQueue<F>,
I: Inspect,
<F as FsmBackend>::Events: From<<TInitialState as FsmBackend>::Events>,
<F as FsmBackend>::States: AsMut<TInitialState>,
TInitialState: DerefMut<Target = FsmBackendImpl<TInitialState>>,
T: FsmTimers<F>,
<F as FsmBackend>::Timers: From<<TInitialState as FsmBackend>::Timers>,
Executed after the transition on the parent FSM (F) and triggers the first start()
call if necessary. Subsequent
dispatches are handled using the main dispatch table.