MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / schedule

Method schedule

dds/DCPS/ReactorTask.cpp:552–570  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

550const ReactorWrapper::TimerId ReactorWrapper::InvalidTimerId = -1;
551
552ReactorWrapper::TimerId ReactorWrapper::schedule(RcEventHandler& handler,
553 const void* arg,
554 const TimeDuration& delay,
555 const TimeDuration& interval)
556{
557#if OPENDDS_CONFIG_BOOTTIME_TIMERS
558 const ACE_Time_Value earliest_before = timer_heap_.is_empty() ? ACE_Time_Value::max_time : timer_heap_.earliest_time();
559 const TimerId tid = timer_heap_.schedule(&handler, arg, MonotonicTimePoint::now().value() + delay.value(), interval.value());
560 const ACE_Time_Value earliest_after = timer_heap_.earliest_time();
561 if (earliest_after < earliest_before) {
562 if (!arm()) {
563 return InvalidTimerId;
564 }
565 }
566 return tid;
567#else
568 return reactor_->schedule_timer(&handler, arg, delay.value(), interval.value());
569#endif
570}
571
572void ReactorWrapper::cancel(TimerId timer)
573{

Callers 15

test_startMethod · 0.45
test_startMethod · 0.45
do_writeMethod · 0.45
test_startMethod · 0.45
do_readMethod · 0.45
enableMethod · 0.45
liveliness_send_taskMethod · 0.45
liveliness_lost_taskMethod · 0.45
enable_iMethod · 0.45
qos_changeFunction · 0.45
delay_sampleFunction · 0.45

Calls 2

is_emptyMethod · 0.45
valueMethod · 0.45

Tested by 3

test_startMethod · 0.36
test_startMethod · 0.36
test_startMethod · 0.36