Packets: Fix VariantParser invalid parser access bug
[senf.git] / Scheduler / TimerEvent.ih
index 8bae8d1..1c5ea52 100644 (file)
@@ -23,8 +23,8 @@
 /** \file
     \brief TimerDispatcher internal header */
 
-#ifndef IH_TimerDispatcher_
-#define IH_TimerDispatcher_ 1
+#ifndef IH_SENF_Scheduler_TimerEvent_
+#define IH_SENF_Scheduler_TimerEvent_ 1
 
 // Custom includes
 #include "../boost/intrusive/iset.hpp"
 ///////////////////////////////ih.p////////////////////////////////////////
 
 namespace senf {
+namespace scheduler {
 
-    class Scheduler;
+    void restart();
 
-namespace scheduler {
 namespace detail {
 
     struct TimerSetCompare {
@@ -44,15 +44,11 @@ namespace detail {
     };
 
     class TimerDispatcher
-        : public FdManager::Event,
+        : public detail::FdManager::Event,
           public singleton<TimerDispatcher>
     {
         SENF_LOG_CLASS_AREA();
         
-        typedef boost::intrusive::imultiset< TimerSetBase::value_traits<TimerEvent>,
-                                             TimerSetCompare,
-                                             false > TimerSet;
-
     public:
         using singleton<TimerDispatcher>::instance;
         using singleton<TimerDispatcher>::alive;
@@ -75,6 +71,10 @@ namespace detail {
         static void sigHandler(int signal, ::siginfo_t * siginfo, void *);
         void reschedule();
 
+        typedef boost::intrusive::imultiset< TimerSetBase::value_traits<TimerEvent>,
+                                             TimerSetCompare,
+                                             false > TimerSet;
+
         TimerSet timers_;
 
         int timerPipe_[2];
@@ -82,7 +82,7 @@ namespace detail {
         bool blocked_;
         timer_t timerId_;
 
-        friend class senf::Scheduler;
+        friend void senf::scheduler::restart();
         friend class singleton<TimerDispatcher>;
     };