UniSet  2.2.1
Открытые члены | Защищенные данные
Класс PassiveTimer

Пассивный таймер Подробнее...

#include <PassiveTimer.h>

Граф наследования:PassiveTimer:
UniSetTimer PassiveCondTimer PassiveSigTimer

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

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

 PassiveTimer (timeout_t msec)
virtual bool checkTime () const
virtual timeout_t setTiming (timeout_t msec)
virtual void reset ()
virtual timeout_t getCurrent () const override
virtual timeout_t getInterval () const override
virtual void terminate ()

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

timeout_t t_msec = { 0 }
std::chrono::high_resolution_clock::time_point t_start
std::chrono::milliseconds t_inner_msec

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

Пассивный таймер

Автор:
Vitaly Lipatov
Установив таймер в конструкторе или с помощью setTiming, можно с помощью checkTime проверять, не наступило ли нужное время
Заметки:
Если t_msec==WaitUpTime, таймер никогда не сработает
t_msec=0 - таймер сработает сразу

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

PassiveTimer::PassiveTimer ( timeout_t  msec)

установить таймер

Перекрестные ссылки setTiming().


Методы

bool PassiveTimer::checkTime ( ) const [virtual]

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

Замещает UniSetTimer.

Перекрестные ссылки t_inner_msec, t_msec, t_start и UniSetTimer::WaitUpTime.

Используется в TCPCheck::check(), ModbusClient::fileTransfer(), TCPCheck::ping(), ModbusClient::recv(), ModbusServer::recv(), ModbusServer::send() и TDelay::tick().

timeout_t PassiveTimer::getCurrent ( ) const [override, virtual]

получить текущее значение таймера, в мс

Замещает UniSetTimer.

Перекрестные ссылки t_start.

Используется в SharedMemory::activateObject() и LT_Object::checkTimers().

virtual timeout_t PassiveTimer::getInterval ( ) const [inline, override, virtual]

< получить интервал, на который установлен таймер, в мс

Замещает UniSetTimer.

Перекрестные ссылки t_msec и UniSetTimer::WaitUpTime.

Используется в ModbusServer::send(), setTiming() и TDelay::tick().

void PassiveTimer::reset ( void  ) [virtual]

перезапустить таймер

Замещает UniSetTimer.

Перекрестные ссылки t_start.

Используется в LT_Object::checkTimers(), ModbusClient::fileTransfer(), ModbusTCPServer::receive() и setTiming().

timeout_t PassiveTimer::setTiming ( timeout_t  msec) [virtual]

установить таймер и запустить. timeMS = 0 вызовет немедленное срабатывание

Замещает UniSetTimer.

Перекрестные ссылки getInterval(), reset(), t_inner_msec и t_msec.

Используется в IOBase::initItem(), PassiveTimer(), ModbusTCPMaster::query(), ModbusTCPServer::receive(), ModbusTCPSession::receive(), ModbusServer::setReplyTimeout(), TDelay::tick() и PassiveCondTimer::wait().

void PassiveTimer::terminate ( ) [virtual]

прервать работу таймера

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

Переопределяется в PassiveSigTimer и PassiveCondTimer.

Перекрестные ссылки t_msec и UniSetTimer::WaitUpTime.


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

std::chrono::milliseconds PassiveTimer::t_inner_msec [protected]

время установки таймера, мсек (в единицах std::chrono)

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

timeout_t PassiveTimer::t_msec = { 0 } [protected]

интервал таймера, в милисекундах (для "пользователей")

Используется в checkTime(), getInterval(), setTiming(), terminate(), PassiveSigTimer::terminate() и PassiveCondTimer::wait().

std::chrono::high_resolution_clock::time_point PassiveTimer::t_start [protected]

время установки таймера (сброса)

Используется в checkTime(), getCurrent() и reset().


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