Как добавить задержки перехода в Boost :: Statechart

Как я могу реализовать неблокирующие задержки перехода в Boost Statechart?

0

Решение

Я вижу два способа интерпретации вашего вопроса. Если вы хотите реализовать асинхронный конечный автомат, используйте http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/tutorial.html#AsynchronousStateMachines

В противном случае, если вы хотите отложить переход, вы можете реализовать пользовательский переход, который всегда отбрасывает событие, но устанавливает таймер с асинхронным обратным вызовом, который отправляет другое событие, которое вызывает переход позднее. Скорее всего, вы не хотите обрабатывать события в это время. Поэтому вместо того, чтобы отбрасывать событие, вы также можете перейти в состояние WaitingToTransition, которое откладывает все события, кроме события из обратного вызова таймера. Если вы не хотите вызывать действия OnExit перед отложенным переходом, вы можете добавить состояние WaitingToTransition как подсостояние вместе с начальным подсостоянием бездействия.

Если ни один из этих ответов не отвечает вашим потребностям, пожалуйста, предоставьте больше информации о том, что вы хотели бы сделать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector