activemq-cpp-3.4.0
|
A Base class for a task object that can be scheduled for one-time or repeated execution by a Timer. More...
#include <src/main/decaf/util/TimerTask.h>
Public Member Functions | |
TimerTask () | |
virtual | ~TimerTask () |
bool | cancel () |
Cancels this timer task. | |
long long | scheduledExecutionTime () const |
Returns the scheduled execution time of the most recent actual execution of this task. | |
Protected Member Functions | |
bool | isScheduled () const |
void | setScheduledTime (long long time) |
long long | getWhen () const |
Friends | |
class | Timer |
class | TimerImpl |
class | decaf::internal::util::TimerTaskHeap |
A Base class for a task object that can be scheduled for one-time or repeated execution by a Timer.
decaf::util::TimerTask::TimerTask | ( | ) |
virtual decaf::util::TimerTask::~TimerTask | ( | ) | [inline, virtual] |
bool decaf::util::TimerTask::cancel | ( | ) |
Cancels this timer task.
If the task has been scheduled for one-time execution and has not yet run, or has not yet been scheduled, it will never run. If the task has been scheduled for repeated execution, it will never run again. (If the task is running when this call occurs, the task will run to completion, but will never run again.)
Note that calling this method from within the run method of a repeating timer task absolutely guarantees that the timer task will not run again.
This method may be called repeatedly; the second and subsequent calls have no effect.
long long decaf::util::TimerTask::getWhen | ( | ) | const [protected] |
bool decaf::util::TimerTask::isScheduled | ( | ) | const [protected] |
long long decaf::util::TimerTask::scheduledExecutionTime | ( | ) | const |
Returns the scheduled execution time of the most recent actual execution of this task.
(If this method is invoked while task execution is in progress, the return value is the scheduled execution time of the ongoing task execution.)
This method is typically invoked from within a task's run method, to determine whether the current execution of the task is sufficiently timely to warrant performing the scheduled activity:
void run() { if( System::currentTimeMillis() - scheduledExecutionTime() >= MAX_TARDINESS) return; // Too late; skip this execution. // Perform the task }
This method is typically not used in conjunction with fixed-delay execution repeating tasks, as their scheduled execution times are allowed to drift over time, and so are not terribly significant.
void decaf::util::TimerTask::setScheduledTime | ( | long long | time | ) | [protected] |
friend class decaf::internal::util::TimerTaskHeap [friend] |
friend class Timer [friend] |
friend class TimerImpl [friend] |