Activity for Sergey Sokolov

  • Sergey Sokolov Sergey Sokolov modified a comment on discussion Help

    Понятно, спасибо. Вопрос возник из попытки вынести лимитированные сообщения в отдельный агент. Т.е., по логике приложения, А1 и А2 -- это один агент. Этот агент получает множество разных сообщений, в том числе сообщения от таймера, срабатывающего каждую миллисекунду. Отдельные обработчики сообщений могут занимать время, несколько большее чем 1мс, поэтому без ограничений (limit_then_drop<periodic_timer_signal>(1)) сообщения от таймера могут накапливаться. Но в SObjectizer по какой-то причине нельзя...

  • Sergey Sokolov Sergey Sokolov posted a comment on discussion Help

    Понятно, спасибо. Вопрос возник из попытки вынести лимитированные сообщения в отдельный агент. Т.е., по логике приложения, А1 и А2 -- это один агент. Этот агент получает множество разных сообщений, в том числе сообщения от таймера, срабатывающего каждую миллисекунду. Отдельные обработчики сообщений могут занимать время, несколько большее чем 1мс, поэтому без ограничений (limit_then_drop<periodic_timer_signal>(1)) сообщения от таймера могут накапливаться. Но в SObjectizer по какой-то причине нельзя...

  • Sergey Sokolov Sergey Sokolov posted a comment on discussion Help

    Приветствую! Прошу помочь разобраться со следующей проблемой: Имеется 2 агента: A1 и A2, запущенные в рамках одной кооперации и привязанные к единому диспетчеру типа one_thread. Т.е., по сути, они делят между собой один поток, и никаких конфликтов у них быть не может. В агенте A1 создан таймер (send_periodic). Обработчик таймера обращается напрямую (по ссылке) к агенту А2, что приводит к смене состояния агента A2 (this >>= newState). Эта попытка смены состояния приводит к исключению в методе agent_t::ensure_operation_is_on_working_thread()...

1