UniSet  1.4.0
Классы | Открытые члены | Защищенные типы | Защищенные члены | Защищенные данные
Класс TimerService

#include <TimerService.h>

Граф наследования:TimerService:
UniSetObject

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

Классы

class  Timer_eq
struct  TimerInfo

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

 TimerService (UniSetTypes::ObjectId id, const std::string confNodeName="LocalTimerService")
virtual void askTimer (const TimerService_i::Timer &ti, const UniSetTypes::ConsumerInfo &ci)
 заказ таймера
void printList ()

Защищенные типы

typedef std::list< TimerInfoTimersList

Защищенные члены

 TimerService (const std::string confNodeName="LocalTimerService")
virtual bool send (TimerInfo &ti)
 посылка сообщения о наступлении времени
virtual bool disactivateObject ()
 Дизактивизация объекта (переопределяется для необходимых действий перед деактивацией)
virtual bool activateObject ()
 Активизация объекта (переопределяется для необходимых действий после активизации)
virtual void sigterm (int signo)
void init (const std::string &confnode)
void work ()

Защищенные данные

unsigned int MaxCountTimers
unsigned int AskLifeTimeSEC

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

Построен на основе PassiveTimer.


Методы

bool TimerService::activateObject ( ) [protected, virtual]

Активизация объекта (переопределяется для необходимых действий после активизации)

Переопределяет метод предка UniSetObject.

Перекрестные ссылки UniSetObject::activateObject() и work().

void TimerService::askTimer ( const TimerService_i::Timer ti,
const UniSetTypes::ConsumerInfo ci 
) [virtual]
bool TimerService::disactivateObject ( ) [protected, virtual]

Дизактивизация объекта (переопределяется для необходимых действий перед деактивацией)

Переопределяет метод предка UniSetObject.

Перекрестные ссылки UniSetTimer::terminate() и UniSetTypes::unideb.

bool TimerService::send ( TimerInfo ti) [protected, virtual]

посылка сообщения о наступлении времени

Перекрестные ссылки TimerService::TimerInfo::cinf, UniSetTypes::ConsumerInfo::id, TimerService::TimerInfo::id, UniSetTypes::ConsumerInfo::node, TimerService::TimerInfo::priority, TimerService::TimerInfo::ref, UniversalInterface::resolve() и UniSetObject::ui.

Используется в work().

void TimerService::sigterm ( int  signo) [protected, virtual]

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения:
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

Переопределяет метод предка UniSetObject.

Перекрестные ссылки msleep(), UniSetTimer::terminate() и UniSetTypes::unideb.

void TimerService::work ( ) [protected]

функция потока

Предупреждения:
и не оптимально, пересортировывать каждый раз весь список
Необходимо сделать:
потом можно написать самому более оптимальное решение т.к. список и так отсортирован, нужно всего лишь перемещать элемент в нужное место (у кого больше curTimeMS). Лучше поискать что-нибудь в stl...

Переопределяет метод предка UniSetObject.

Перекрестные ссылки AskLifeTimeSEC, UniversalInterface::getNameById(), UniSetTimer::MinQuantityTime, send(), UniSetObject::ui, UniSetTypes::unideb, UniSetTimer::wait() и UniSetTimer::WaitUpTime.

Используется в activateObject().


Данные класса

unsigned int TimerService::AskLifeTimeSEC [protected]

[сек] время жизни заказа, если объект недоступен

Используется в askTimer() и work().

unsigned int TimerService::MaxCountTimers [protected]

максимально возможное количество таймеров

Используется в askTimer().


Объявления и описания членов классов находятся в файлах: