User Tools

Site Tools


fsm:upgrading_fsm

This is an old revision of the document!


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)