Improved the interface of the PollingScheduler class, added some
documentation in comments.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@494 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/x0vncserver/PollingScheduler.cxx b/x0vncserver/PollingScheduler.cxx
index 2d28491..ee31596 100644
--- a/x0vncserver/PollingScheduler.cxx
+++ b/x0vncserver/PollingScheduler.cxx
@@ -17,7 +17,7 @@
  */
 
 //
-// PollingScheduler.cxx
+// PollingScheduler class implementation.
 //
 
 #include <x0vncserver/PollingScheduler.h>
@@ -58,3 +58,7 @@
   return (m_interval - elapsed);
 }
 
+bool PollingScheduler::goodTimeToPoll() const
+{
+  return (millisRemaining() == 0);
+}
diff --git a/x0vncserver/PollingScheduler.h b/x0vncserver/PollingScheduler.h
index 777a665..ba7b27d 100644
--- a/x0vncserver/PollingScheduler.h
+++ b/x0vncserver/PollingScheduler.h
@@ -17,7 +17,10 @@
  */
 
 //
-// PollingScheduler.h
+// PollingScheduler class. It is used for deciding when to start new
+// polling pass, and how much time it is ok to wait before starting. 
+// PollingScheduler is provided a desired polling interval and watches
+// for actual intervals between past polling cycles.
 //
 
 #ifndef __POLLINGSCHEDULER_H__
@@ -43,6 +46,9 @@
   // This function estimates time remaining before new polling pass.
   int millisRemaining() const;
 
+  // This function tells if it's ok to start polling pass right now.
+  bool goodTimeToPoll() const;
+
 protected:
 
   bool initialState;
diff --git a/x0vncserver/x0vncserver.cxx b/x0vncserver/x0vncserver.cxx
index 27c130a..d179d94 100644
--- a/x0vncserver/x0vncserver.cxx
+++ b/x0vncserver/x0vncserver.cxx
@@ -485,7 +485,7 @@
 
       server.checkTimeouts();
 
-      if (sched.millisRemaining() <= 0) {
+      if (sched.goodTimeToPoll()) {
         adjustPollingCycle(&dynPollingCycle, &cpumon);
         sched.setInterval(dynPollingCycle);
         sched.newPass();