2013-07-05 6 views

ответ

0

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

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

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