You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2014/11/25 18:39:54 UTC

svn commit: r1641658 - /qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h

Author: astitcher
Date: Tue Nov 25 17:39:54 2014
New Revision: 1641658

URL: http://svn.apache.org/r1641658
Log:
NO-JIRA: Improve the Timer/TimerTask documentation.

Modified:
    qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h?rev=1641658&r1=1641657&r2=1641658&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/Timer.h Tue Nov 25 17:39:54 2014
@@ -57,12 +57,50 @@ class TimerTask : public RefCounted {
     void fireTask();
 
   public:
+    /** Create a periodic TimerTask
+     *
+     * This TimerTask type will trigger after the specified duration
+     * and can also be retriggered again after the same duration
+     * by using setupNextFire() after it has been fired.
+     *
+     * Before it has been triggered you can use restart() to push off
+     * triggering the TimerTask by the specified duration.
+     */
     QPID_COMMON_EXTERN TimerTask(Duration period, const std::string& name);
+
+    /** Create a TimerTask that fires at a given absolute time
+     *
+     * This is a once only Timer and cannot be restarted after it has fired.
+     */
     QPID_COMMON_EXTERN TimerTask(AbsTime fireTime, const std::string& name);
+
     QPID_COMMON_EXTERN virtual ~TimerTask();
 
+    /** Adjust a periodic TimerTask for next firing time
+     *
+     * Called after a TimerTask has been triggered - probably in the fire()
+     * callback function itself. This will set up a TimerTask for the next
+     * triggering.
+     *
+     * Note that the TimerTask will need to be added again to the Timer.
+     */
     QPID_COMMON_EXTERN void setupNextFire();
+
+    /** Restart a TimerTask so to delay it being firing
+     *
+     * This can be called either with the TimerTask already added to a Timer
+     * or after the task has been triggered. It has the effect of delaying
+     * the task triggering by the initially specified duration.
+     */
     QPID_COMMON_EXTERN void restart();
+
+    /** Cancel a TimerTask so that it is no longer triggered
+     *
+     * After cancelling the only thing you can do nothing further
+     * with a TimerTask.
+     *
+     * The Timer will delete the cancelled TimerTask.
+     */
     QPID_COMMON_EXTERN void cancel();
 
     std::string getName() const { return name; }
@@ -89,8 +127,26 @@ class Timer : private Runnable {
     QPID_COMMON_EXTERN Timer();
     QPID_COMMON_EXTERN virtual ~Timer();
 
+    /** Add an TimerTask to the Timer queue
+     *
+     * Once a TimerTask has been triggered by (calling its fire() function)
+     * the TimerTask is no longer on the Timer queue and needs to be added again.
+     *
+     * Note that TimerTasks must never be added more than once to a Timer
+     * and must never be added simultaneuosly to multiple Timers.
+     */
     QPID_COMMON_EXTERN virtual void add(boost::intrusive_ptr<TimerTask> task);
+
+    /** Start the Timer
+     *
+     * This will start a new thread that runs the Timer and the fire callbacks.
+     */
     QPID_COMMON_EXTERN virtual void start();
+
+    /** Stop the Timer
+     *
+     * This will stop the Timer and its thread.
+     */
     QPID_COMMON_EXTERN virtual void stop();
 
   protected:



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org