Класс so_4::rt::dispatcher_t

Граф наследования:so_4::rt::dispatcher_t:

so_4::api::insend_helper::disp_t so_4::disp::active_group::impl::dispatcher_t so_4::disp::active_obj::impl::dispatcher_t so_4::disp::one_thread::impl::dispatcher_t so_4::disp::qt_ui::impl::dispatcher_t so_4::disp::win_ui::impl::dispatcher_t Полный список членов класса

Подробное описание

Абстрактный базовый класс для всех диспетчеров.


Открытые члены

virtual ret_code_t start ()=0
 Запустить диспетчер.
virtual void shutdown ()=0
 Дать сигнал диспетчеру завершить работу.
virtual void wait ()=0
 Ожидать полного завершения работы диспетчера.
virtual void dispatch (int priority, const event_data_t &event_data)=0
 Выполнить диспетчеризацию события.
virtual void push_delayed_msg (const so_4::rt::msg_data_t &msg_data, unsigned int delay, unsigned int period=0)=0
 сообщение в очередь.
virtual void destroy_all_agent_msg (const std::string &agent_name)=0
 Изъять все ожидающие сообщения данного агента.
virtual void run_action (const so_4::rt::event_data_t &event)
 Запустить обрабочик события.


Методы

virtual void so_4::rt::dispatcher_t::destroy_all_agent_msg const std::string &  agent_name  )  [pure virtual]
 

Изъять все ожидающие сообщения данного агента.

Данный метод вызывается при дерегистрации агента для уничтожения всех отложенных и переодических сообщений данного агента. Должны уничтожаться все экземпляры сообщений еще не поступившие на диспетчеризацию.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.

virtual void so_4::rt::dispatcher_t::dispatch int  priority,
const event_data_t event_data
[pure virtual]
 

Выполнить диспетчеризацию события.

Аргументы:
priority  Приоритет события.
event_data  Описание события.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.

virtual void so_4::rt::dispatcher_t::push_delayed_msg const so_4::rt::msg_data_t msg_data,
unsigned int  delay,
unsigned int  period = 0
[pure virtual]
 

сообщение в очередь.

Аргументы:
msg_data  Описание экземпляра сообщения.
delay  Для переодического сообщения указывает время, через которое сообщение должно возникнуть в первый раз.
period  Отличен от 0 для переодических сообщений.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.

void so_4::rt::dispatcher_t::run_action const so_4::rt::event_data_t event  )  [virtual]
 

Запустить обрабочик события.

Внимание:
при замещении этого метода в производных классах необходимо обязательно вызывать реализацию run_action из dispatcher_t (т.к. в ней осуществляется корректный с точки зрения внутренней организации SObjectizer-а вызов обработчика).

virtual void so_4::rt::dispatcher_t::shutdown  )  [pure virtual]
 

Дать сигнал диспетчеру завершить работу.

Должен только устанавливаться признак необходимости завершения работы диспетчера. Метод shutdown не обязан дожидаться завершения работы.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.

virtual ret_code_t so_4::rt::dispatcher_t::start  )  [pure virtual]
 

Запустить диспетчер.

Возвращает:
0, если диспетчер успешно запущен.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.

virtual void so_4::rt::dispatcher_t::wait  )  [pure virtual]
 

Ожидать полного завершения работы диспетчера.

Возврат из этого метода должен осуществляться только когда работа диспетчера полностью завершена.

Замещается в so_4::api::insend_helper::disp_t, so_4::disp::active_group::impl::dispatcher_t, so_4::disp::active_obj::impl::dispatcher_t, so_4::disp::one_thread::impl::dispatcher_t, so_4::disp::qt_ui::impl::dispatcher_t и so_4::disp::win_ui::impl::dispatcher_t.


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:51 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz