#include <source/ariba/utility/system/Timer.h>
Inherits ariba::utility::SystemEventListener.
Inherited by ariba::application::dhttest::DHTTest, ariba::application::pingpong::PingPong, ariba::overlay::BaseOverlay [protected], ariba::overlay::Chord [protected], ariba::overlay::OneHop [protected], ariba::overlay::OverlayBootstrap::WatchdogTimer, ariba::utility::OvlVis::TimedoutIcon, and ariba::utility::PeriodicBroadcast.

Public Member Functions | |
| Timer () | |
| virtual | ~Timer () |
| void | setInterval (unsigned int millis, bool oneshot=false) |
| void | start () |
| void | stop () |
| void | reset () |
| bool | isRunning () |
Protected Member Functions | |
| virtual void | eventFunction () |
| virtual void | handleSystemEvent (const SystemEvent &event) |
Private Member Functions | |
| use_logging_h (Timer) | |
Static Private Member Functions | |
| static void | threadFunc (Timer *obj) |
Private Attributes | |
| boost::thread * | timerThread |
| volatile unsigned int | millis |
| volatile bool | running |
| volatile bool | oneshot |
Definition at line 62 of file Timer.h.
| ariba::utility::Timer::Timer | ( | ) |
Definition at line 47 of file Timer.cpp.
References running, and timerThread.
| ariba::utility::Timer::~Timer | ( | ) | [virtual] |
Definition at line 55 of file Timer.cpp.
References stop(), and timerThread.
| void ariba::utility::Timer::eventFunction | ( | ) | [protected, virtual] |
Reimplemented in ariba::overlay::BaseOverlay, ariba::overlay::Chord, ariba::overlay::OneHop, ariba::overlay::OverlayBootstrap::WatchdogTimer, ariba::utility::PeriodicBroadcast, ariba::utility::OvlVis::TimedoutIcon, ariba::application::pingpong::PingPong, and ariba::application::dhttest::DHTTest.
Definition at line 105 of file Timer.cpp.
Referenced by handleSystemEvent().
| void ariba::utility::Timer::handleSystemEvent | ( | const SystemEvent & | event | ) | [protected, virtual] |
Implements ariba::utility::SystemEventListener.
Definition at line 134 of file Timer.cpp.
References eventFunction(), ariba::utility::SystemQueue::instance(), millis, oneshot, running, ariba::utility::SystemQueue::scheduleEvent(), and ariba::utility::TimerEventType.
| bool ariba::utility::Timer::isRunning | ( | ) |
| void ariba::utility::Timer::reset | ( | ) |
Reset a running timer and ignore the remaining interval time. Does not fire the timer event and start the timer with a new interval.
Definition at line 84 of file Timer.cpp.
References timerThread.
Referenced by stop().
| void ariba::utility::Timer::setInterval | ( | unsigned int | millis, | |
| bool | oneshot = false | |||
| ) |
Set the interval for the timer
| millis | Timer interval in milliseconds | |
| oneshot | Is this a one-shot or periodic timer |
Definition at line 65 of file Timer.cpp.
Referenced by ariba::application::dhttest::DHTTest::DHTTest(), ariba::overlay::Chord::joinOverlay(), ariba::overlay::OneHop::OneHop(), ariba::application::pingpong::PingPong::PingPong(), ariba::utility::PeriodicBroadcast::start(), ariba::overlay::BaseOverlay::start(), ariba::utility::OvlVis::TimedoutIcon::startIcon(), and ariba::overlay::OverlayBootstrap::WatchdogTimer::startWatchdog().
| void ariba::utility::Timer::start | ( | ) |
Start the timer
Reimplemented in ariba::utility::PeriodicBroadcast.
Definition at line 70 of file Timer.cpp.
References ariba::utility::SystemQueue::instance(), millis, running, ariba::utility::SystemQueue::scheduleEvent(), threadFunc(), ariba::utility::TimerEventType, and timerThread.
Referenced by ariba::overlay::Chord::joinOverlay(), ariba::overlay::OneHop::OneHop(), ariba::application::dhttest::DHTTest::onJoinCompleted(), ariba::application::pingpong::PingPong::onJoinCompleted(), ariba::overlay::BaseOverlay::start(), ariba::utility::OvlVis::TimedoutIcon::startIcon(), and ariba::overlay::OverlayBootstrap::WatchdogTimer::startWatchdog().
| void ariba::utility::Timer::stop | ( | ) |
Stop the timer
Reimplemented in ariba::overlay::BaseOverlay, and ariba::utility::PeriodicBroadcast.
Definition at line 97 of file Timer.cpp.
References ariba::utility::SystemQueue::dropAll(), ariba::utility::SystemQueue::instance(), reset(), running, and timerThread.
Referenced by ariba::overlay::Chord::leaveOverlay(), ariba::application::dhttest::DHTTest::shutdown(), ariba::application::pingpong::PingPong::shutdown(), ariba::overlay::OverlayBootstrap::WatchdogTimer::stopWatchdog(), ariba::overlay::OneHop::~OneHop(), ariba::utility::OvlVis::TimedoutIcon::~TimedoutIcon(), and ~Timer().
| void ariba::utility::Timer::threadFunc | ( | Timer * | obj | ) | [static, private] |
Reimplemented in ariba::utility::PeriodicBroadcast.
Definition at line 110 of file Timer.cpp.
References ariba::utility::SystemQueue::instance(), millis, oneshot, running, ariba::utility::SystemQueue::scheduleEvent(), ariba::utility::Helper::sleep(), and ariba::utility::TimerEventType.
Referenced by start().
| ariba::utility::Timer::use_logging_h | ( | Timer | ) | [private] |
volatile unsigned int ariba::utility::Timer::millis [private] |
Definition at line 110 of file Timer.h.
Referenced by handleSystemEvent(), start(), and threadFunc().
volatile bool ariba::utility::Timer::oneshot [private] |
Definition at line 112 of file Timer.h.
Referenced by handleSystemEvent(), and threadFunc().
volatile bool ariba::utility::Timer::running [private] |
Definition at line 111 of file Timer.h.
Referenced by handleSystemEvent(), isRunning(), start(), stop(), threadFunc(), and Timer().
boost::thread* ariba::utility::Timer::timerThread [private] |
1.6.1