Merged
Conversation
…tChildResult from child-to-parent states; maintains current TStateId; removed (TStateId) LastStateId (wasn't implemented)
…ock testing and cleanly define XML documentation without cluttering the StateMachine class. Added placeholder exceptions (commented out)
…eoutMs to DefaultCommandTimeout (no hanging allowed). Fixed last child transition typo. IState no longer requires StateId (use Context). Updated basic and composite state tests for revamped framework.
…dded test for HungStateAvoidance using DefaultStateTimeoutMs
…uild and run in-line (really not good for debugging). Added fluent test for basic states. Composite test checks all states are registered and in order.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
This architecture update to advanced state processing overhauls the system, causing incompatibility with previous releases.
What do you get?
DefaultStateTimeoutMs(defaultTimeout.Infinite)DefaultTimeoutMsrenamed toDefaultCommandTimeoutMsto keep it separate from regular states.OnEntering->OnEnter, then the initial sub-state. Upon last sub-state, Composite'sOnExitis called.Context.LastChildResultBenefits
Sample State Construction