activemq-cpp-3.6.0
decaf::util::TimerTask Class Reference

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>

Inheritance diagram for decaf::util::TimerTask:

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.
- Public Member Functions inherited from decaf::lang::Runnable
virtual ~Runnable ()
virtual void run ()=0
 Run method - called by the Thread class in the context of the thread.

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

Detailed Description

A Base class for a task object that can be scheduled for one-time or repeated execution by a Timer.

Since
1.0

Constructor & Destructor Documentation

decaf::util::TimerTask::TimerTask ( )
virtual decaf::util::TimerTask::~TimerTask ( )
inlinevirtual

Member Function Documentation

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.

Returns
true if this task is scheduled for one-time execution and has not yet run, or this task is scheduled for repeated execution. Returns false if the task was scheduled for one-time execution and has already run, or if the task was never scheduled, or if the task was already canceled. (Loosely speaking, this method returns true if it prevents one or more scheduled executions from taking place.)
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.

Returns
the time at which the most recent execution of this task was scheduled to occur, in the format returned by Date.getTime(). The return value is undefined if the task has yet to commence its first execution.
void decaf::util::TimerTask::setScheduledTime ( long long  time)
protected

Friends And Related Function Documentation

friend class Timer
friend
friend class TimerImpl
friend

The documentation for this class was generated from the following file: