Change ILinkLayer::ScheduleTick to use new timer

pull/990/head
Thomas Winget 5 years ago
parent 71bb0dd520
commit 50118c3127

@ -7,6 +7,8 @@
#include <utility> #include <utility>
#include <unordered_set> #include <unordered_set>
constexpr uint64_t LINK_LAYER_TICK_INTERVAL = 100;
namespace llarp namespace llarp
{ {
static constexpr size_t MaxSessionsPerKey = 16; static constexpr size_t MaxSessionsPerKey = 16;
@ -289,7 +291,7 @@ namespace llarp
{ {
m_Worker = worker; m_Worker = worker;
m_Logic = l; m_Logic = l;
ScheduleTick(100); ScheduleTick(LINK_LAYER_TICK_INTERVAL);
return true; return true;
} }
@ -450,17 +452,18 @@ namespace llarp
} }
void void
ILinkLayer::OnTick(uint64_t interval) ILinkLayer::OnTick()
{ {
auto now = Now(); auto now = Now();
Tick(now); Tick(now);
ScheduleTick(interval); ScheduleTick(LINK_LAYER_TICK_INTERVAL);
} }
void void
ILinkLayer::ScheduleTick(uint64_t interval) ILinkLayer::ScheduleTick(uint64_t interval)
{ {
tick_id = m_Logic->call_later({interval, this, &ILinkLayer::on_timer_tick}); tick_id = m_Logic->call_later(interval,
std::bind(&ILinkLayer::on_timer_tick, this));
} }
void void

@ -207,17 +207,14 @@ namespace llarp
} }
private: private:
static void void
on_timer_tick(void* user, uint64_t orig, uint64_t left) on_timer_tick()
{ {
// timer cancelled OnTick();
if(left)
return;
static_cast< ILinkLayer* >(user)->OnTick(orig);
} }
void void
OnTick(uint64_t interval); OnTick();
void void
ScheduleTick(uint64_t interval); ScheduleTick(uint64_t interval);

Loading…
Cancel
Save