///////////////////////////////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>;
};