SObjectizer  5.1
Открытые члены | Полный список членов класса
Класс so_5::timer_thread::timer_thread_tabstract

Интерфейс нити таймера. Подробнее...

Граф наследования:so_5::timer_thread::timer_thread_t:
so_5::timer_thread::ace_timer_queue_adapter::impl::timer_thread_t

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

virtual ret_code_t start ()=0
 Запустить нить таймера.
 
virtual void shutdown ()=0
 Дать сигнал нити таймера завершить работу.
 
virtual void wait ()=0
 Ожидать полного завершения работы нити таймера.
 
virtual timer_id_t schedule_act (timer_act_unique_ptr_t &timer_act)=0
 Поставить отложенное или переодическое сообщение в очередь.
 
virtual void cancel_act (timer_id_t msg_id)=0
 Отменить периодическое сообщение.
 

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

Интерфейс нити таймера.

Диспетчеру run-time SObjectizer-а необходимы средства для работы с отложенными и переодическими сообщениями. Точность отсчета времени для различных задач может сильно различаться. Для некоторых задач необходима точность до милли- или микросекунд, для некоторых достаточно точности в секундах. Механизмы диспетчеризации для отсчета времени практически не играют роли.

Все реальные таймеры для SObjectizer-а должны быть производными от timer_thread_t.

Настоящий таймер не обязательно должен быть реализован в виде нити. Название timer_thread_t сложилось исторически. Важно, что диспетчер запускает таймер при своем старте посредством метода timer_thread_t::start() и останавливает таймер при завершении работы посредством timer_thread_t::shutdown(). Т.к. при реализации таймера в виде отдельной нити сложно обеспечить, чтобы выход из shutdown() означал завершение работы нити таймера, то введен метод wait(). Диспетчер вызывает wait() сразу после вызова shutdown() и возврат из wait() означает, что таймер полностью остановлен и все ресурсы, захваченные таймером, освобождены.

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


Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:23. Создано системой  doxygen1.8.3.1 Intervale SourceForge.net Logo