Events
An event can trigger a change of the active state configuration (if at least one transition is enabled when the event is processed).
An event...
-
...can have parameters.
-
...can have priority.
-
...must have an ID which >= 0.
-
...must not have the ID 4.294.967.295 (0xFFFFFFFF) which is reserved by the implementation.
The type for event IDs is event_id. The type event_id is an alias for std::uint32_t.
The event ID with the maximum value of event_id (4.294.967.295 or 0xFFFFFFFF) is the library defined ID Y_COMPLETION_EVENT_ID and may not be used for user events!
The priority of an event is considered if and only if a asynchronous state machine is used. The type for event priority is event_priority and it is an alias for std::int8_t.
Events with higher priority are handled by the state machine before events with lower priority.
The event priority 0 is the library defined DEFAULT_EVENT_PRIORITY.
The event priority 127 is the library defined STATE_MACHINE_INTERNAL_EVENT_PRIORITY and may not be used for user events!
During event processing an event can be processed, discarded, or deferred.