В такой ситуации прикладную систему можно считать предсказуемой только, если все события обрабатываются в разных состояниях. В этом случае нужно обработать только это событие, а остальные события проигнорировать.
Если же окажется, что в текущем состоянии агента можно обработать несколько событий, то система не может считаться предсказуемой (т.к. нигде не оговаривается порядок выполнения событий, а это может быть критически важно). Поэтому, при обнаружении нескольких доступных для обработки событий ни одно из них не выполняется.
Открытые члены | |
event_data_only_one_of_t (agent_wrapper_t &agent, const event_data_single_ptr_list_t &single_events) | |
virtual const std::string & | query_msg_owner () const |
virtual const std::string & | query_msg_name () const |
virtual const comm_channel_t & | query_msg_channel_from () const |
virtual const comm_channel_t & | query_msg_channel_to () const |
virtual void * | query_msg_data () const |
virtual const std::string & | query_receiver () const |
virtual const msg_wrapper_t & | query_msg_wrapper () const |
virtual void | run_action (const event_data_t &event_data) |
virtual bool | is_insend_dispatching () const |
Закрытые члены | |
const event_data_single_t & | query_first () const |
Закрытые данные | |
event_data_single_ptr_list_t | m_events |
|
|