Open tkem opened 8 years ago
Things to consider:
Type of queue container should be an additional template argument. No default should be provided for compatibility with freestanding implementations.
Investigate whether this could be an additional processing_lock
template parameter; then we'd have something like
no_lock
for NDEBUG and -fno-exceptionsthrowing_lock
as default if exceptions are supportedqueuing_lock
to queue/postpone new events during event processing
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.