Releases: laszlo-kiss/FiniteStateMachine
Instrumentation capability added.
It is now possible to instrument the state transitions and event handling within the state machine itself, which should make it easier to either debug instances or log conveniently w/o having to duplicate code all over.
Enhanced derived class capability through State object override.
Added the ability to replace an existing State object with a new one. This capability enables derived classes to further customize the state machine while retaining the ability to call on the original state's functionality.
Blocking of events and auto-clear blocking functionality.
Added the option of blocking some events (when the supplied method is used) and have the block lifted automatically when the state machine arrives at one of a set of states.
Direct state-to-state transition support.
Added the ability to create a state machine that is used to track the state of an external system. In that case, it may be advantageous to be able to transition to any state from any state to synchronize the state machine to reality. This release has the methods to support this capability. Note that it has to be enabled by the user, it is not enabled by default.
EventNumber introduced.
Added a clarifying concept to show that event numbers are used for calculating state transitions, not 'Event' objects. No functional changes have been added.
Fix of an array out of bounds access error.
Only affected setting of the intial state.
Event store-and-forward capability added.
In some states it is useful to not deal with an event, but to push it to some later state. This update makes that possible.
Single event dispatch.
Added the capability to filter (ignore) an event beyond its first occurrence in a state.
Initial release.
v1.0