limit timer calls

pull/960/head
Jeff Becker 5 years ago committed by Stephen Shelton
parent 35672e6d8c
commit b286230d40

@ -14,7 +14,8 @@ namespace llarp
if(m_Queue)
{
llarp_timer_set_time(m_Timer, now);
m_Queue(std::bind(&llarp_timer_tick_all, m_Timer));
if(llarp_timer_should_call(m_Timer))
m_Queue(std::bind(&llarp_timer_tick_all, m_Timer));
return;
}
llarp_timer_tick_all_async(m_Timer, m_Thread, now);

@ -265,6 +265,12 @@ llarp_timer_tick_all(struct llarp_timer_context* t)
}
}
bool
llarp_timer_should_call(struct llarp_timer_context* t)
{
return t->ShouldTriggerTimers(0);
}
void
llarp_timer_tick_all_async(struct llarp_timer_context* t,
struct llarp_threadpool* pool, llarp_time_t now)

@ -37,6 +37,9 @@ llarp_timer_cancel_job(struct llarp_timer_context *t, uint32_t id);
void
llarp_timer_remove_job(struct llarp_timer_context *t, uint32_t id);
bool
llarp_timer_should_call(struct llarp_timer_context *t);
// cancel all
void
llarp_timer_stop(struct llarp_timer_context *t);

Loading…
Cancel
Save