prefix_ void senf::ppi::IntervalTimer::v_enable()
{
+ if (eventsPerInterval_ <= 0)
+ return;
info_.intervalStart = manager().now();
info_.number = 0;
schedule();
prefix_ void senf::ppi::IntervalTimer::v_disable()
{
- Scheduler::instance().cancelTimeout(id_);
- id_ = 0;
+ timer_.disable();
}
prefix_ void senf::ppi::IntervalTimer::schedule()
{
info_.expected = info_.intervalStart + ( interval_ * (info_.number+1) ) / eventsPerInterval_;
- id_ = Scheduler::instance().timeout(info_.expected, boost::bind(&IntervalTimer::cb,this));
+ timer_.timeout(info_.expected);
}
prefix_ void senf::ppi::IntervalTimer::cb()