Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "queuing" FSM #7

Open
tkem opened this issue Feb 19, 2016 · 3 comments
Open

Add "queuing" FSM #7

tkem opened this issue Feb 19, 2016 · 3 comments
Milestone

Comments

@tkem
Copy link
Owner

tkem commented Feb 19, 2016

As stated in #5, process_event() must not be called recursively. Since this is a common pattern, especially with multiple FSMs passing events to each other, a "queuing" FSM type should be added.

@tkem
Copy link
Owner Author

tkem commented Feb 19, 2016

Things to consider:

  • type of queue/container
  • priorities?
  • exception handling with pending events

@tkem
Copy link
Owner Author

tkem commented Apr 7, 2018

Type of queue container should be an additional template argument. No default should be provided for compatibility with freestanding implementations.

tkem added a commit that referenced this issue Apr 10, 2018
@tkem
Copy link
Owner Author

tkem commented Apr 23, 2018

Investigate whether this could be an additional processing_lock template parameter; then we'd have something like

  • no_lock for NDEBUG and -fno-exceptions
  • throwing_lock as default if exceptions are supported
  • queuing_lock to queue/postpone new events during event processing

@tkem tkem added this to the v1.0.0 milestone Feb 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant