fsm:upgrading_fsm
This is an old revision of the document!
Table of Contents
Upgrading apps using OSInet FSM
1.2 to 1.3
- No application changes are necessary.
- New features:
- enable/disable idle processing
- idle() shorthand method
- additional operation modes:
- fsm::EVENT_NORMAL works as previously
- fsm::EVENT_QUEUE queues events for later use
- fsm::EVENT_SINK discards events
- enable/disable post-event actions
1.1 to 1.2
- The new post-event action feature allows shorter automata by event chaining
- The new default “idle” event allows automatic progress in the absence of explicit events. For instance, whereas a FTP client using FSM 1.1 will typically send events to connect, get and disconnect in PHP, the same can be done to a large extend using just the transitions table with FSM 1.2 using this mechanism to fire events in succession.
- Because of this change, fsm::apply_event() now returns a fsm_result instead of directly returning the next state. Code needing to know the next state can:
- either use apply_simple_event, which is equivalent to the previous incarnation of apply_event
- use the fsm_state field from the value returned by fsm::apply_event
fsm/upgrading_fsm.1177861407.txt.gz · Last modified: 2020/11/23 17:23 (external edit)