| 
    SObjectizer
    5.1
    
   | 
 
Абстрактный базовый класс для всех диспетчеров. Подробнее...
  
 Открытые члены | |
| dispatcher_t * | self_ptr () | 
| virtual ret_code_t | start ()=0 | 
| Запустить диспетчер.  Подробнее... | |
| virtual void | shutdown ()=0 | 
| Дать сигнал диспетчеру завершить работу.  Подробнее... | |
| virtual void | wait ()=0 | 
| Ожидать полного завершения работы диспетчера.  Подробнее... | |
| virtual void | put_event_execution_request (const agent_ref_t &agent_ref, unsigned int event_count)=0 | 
| Поставить запрос на выполнение события агентом. Т.е. запланировать вызов события агента.  Подробнее... | |
| void | set_disp_event_exception_handler (disp_evt_except_handler_t &disp_evt_except_handler) | 
| Установить новый disp_evt_except_handler.  | |
| disp_evt_except_handler_t & | query_disp_evt_except_handler () | 
Закрытые данные | |
| disp_evt_except_handler_t * | m_disp_evt_except_handler | 
| Обработчик исключений событий агентов на данном диспетчере.  | |
Абстрактный базовый класс для всех диспетчеров.
Диспетчеры отвечают за вызов событий агентов.
Когда регистрируется кооперация агентов, каждый агент кооперации привязывается через привязыватель dispatcher_binder_t к совему диспетчеру.
Когда агентам через mbox отправляетя сообщения, на которое те подписаны, оно обращается к методам агента, которые в свою очередь кладут необходисые для выполнения обрабочика данные к себе в локальную очередь, а затем обращаются к своему диспетчеру, чтобы тот поставил запрос на выполнение заявок и исполнил его, как только сможет. Т.е. диспетчерам говорится, что есть необходимость выполнять события, а те в свою очередь инициируют их выполнение на рабочей нити (нитях).
      
  | 
  pure virtual | 
Поставить запрос на выполнение события агентом. Т.е. запланировать вызов события агента.
| agent_ref | Агент событие которого надо запланировать. | 
| event_count | Количество событий, которые должны произайти у этого агента. | 
Замещается в so_5::disp::active_obj::impl::dispatcher_t, so_5::disp::active_group::impl::dispatcher_t, so_5::disp::one_thread::impl::dispatcher_t и so_5::rt::impl::void_dispatcher_t.
Используется в so_5::rt::agent_t::bind_to_disp(), so_5::rt::agent_t::push_event() и so_5::rt::agent_t::undefine_agent().
      
  | 
  pure virtual | 
Дать сигнал диспетчеру завершить работу.
Должен только устанавливаться признак необходимости завершения работы диспетчера. Метод shutdown не обязан дожидаться завершения работы.
Замещается в so_5::disp::active_obj::impl::dispatcher_t, so_5::disp::active_group::impl::dispatcher_t, so_5::disp::one_thread::impl::dispatcher_t и so_5::rt::impl::void_dispatcher_t.
      
  | 
  pure virtual | 
Запустить диспетчер.
Замещается в so_5::disp::active_obj::impl::dispatcher_t, so_5::disp::active_group::impl::dispatcher_t, so_5::disp::one_thread::impl::dispatcher_t и so_5::rt::impl::void_dispatcher_t.
      
  | 
  pure virtual | 
Ожидать полного завершения работы диспетчера.
Возврат из этого метода должен осуществляться только когда работа диспетчера полностью завершена.
Замещается в so_5::disp::active_obj::impl::dispatcher_t, so_5::disp::active_group::impl::dispatcher_t, so_5::disp::one_thread::impl::dispatcher_t и so_5::rt::impl::void_dispatcher_t.
      Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:23. Создано системой 
      
       1.8.3.1
     | 
    
      
         
        |