/** \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 {
};
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;
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];
bool blocked_;
timer_t timerId_;
- friend class senf::Scheduler;
+ friend void senf::scheduler::restart();
friend class singleton<TimerDispatcher>;
};