Класс so_4::disp::one_thread::impl::dispatcher_t

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

so_4::rt::dispatcher_t

Полный список членов класса


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

Диспетчер с одной рабочей нитью и приоритетной очередью заявок.

Диспетчер использует внешний объект-таймер. Время жизни объекта-таймера задается в конструкторе.

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

 dispatcher_t (so_4::timer_thread::timer_thread_t *timer, so_4::destroy_timer_flags_t destruction_flag)
 Основной инициализирующий конструктор.
virtual ret_code_t start ()
 Запустить диспетчер.
virtual void shutdown ()
 Дать сигнал диспетчеру завершить работу.
virtual void wait ()
 Ожидать полного завершения работы диспетчера.
virtual void setup_dispatcher_binding (so_4::rt::agent_t &agent)
 Выполнение привязки агента к конкретному ресурсу диспетчера.
virtual void push_delayed_msg (const so_4::rt::msg_data_t &msg_data, unsigned int delay, unsigned int period=0)
 Поставить отложенное сообщение в очередь.
virtual void destroy_all_agent_msg (const std::string &agent_name)
 Изъять все ожидающие сообщения данного агента.

Закрытые данные

so_4::timer_thread::timer_thread_tm_timer_ptr
 Нить таймера, которую нужно использовать для работы диспетчера.
so_4::destroy_timer_flags_t m_timer_destruction_flag
 Признак необходимости удаления нити таймера.
so_4::disp::reuse::work_thread::work_thread_t m_work_thread
 Рабочая нить для диспетчера.


Конструктор(ы)

so_4::disp::one_thread::impl::dispatcher_t::dispatcher_t ( so_4::timer_thread::timer_thread_t timer,
so_4::destroy_timer_flags_t  destruction_flag 
)

Основной инициализирующий конструктор.

Аргументы:
timer  Выделенный диспетчеру таймер. Должен быть динамически созданным объектом, если so_4::rt::auto_destroy_timer == destruction_flag.
destruction_flag  Признак необходимости уничтожения объекта нити таймера в деструкторе.


Методы

void so_4::disp::one_thread::impl::dispatcher_t::setup_dispatcher_binding ( so_4::rt::agent_t agent  )  [virtual]

Выполнение привязки агента к конкретному ресурсу диспетчера.

Начиная с:
v.4.4.0-b6 Привязывает агента к единственной рабочей нити.

Замещает so_4::rt::dispatcher_t.

Перекрестные ссылки m_work_thread и so_4::rt::agent_t::so_set_dispatcher_binding().

void so_4::disp::one_thread::impl::dispatcher_t::push_delayed_msg ( const so_4::rt::msg_data_t msg_data,
unsigned int  delay,
unsigned int  period = 0 
) [virtual]

Поставить отложенное сообщение в очередь.

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

Замещает so_4::rt::dispatcher_t.

Перекрестные ссылки m_timer_ptr и so_4::timer_thread::timer_thread_t::push_msg().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo