Backport unified client timer from proxy project.
This commit is contained in:
parent
5ad1a48489
commit
9975b4e4cd
13 changed files with 105 additions and 22 deletions
|
@ -39,7 +39,6 @@
|
|||
|
||||
|
||||
Network::Network(const Options *options) :
|
||||
m_donateActive(false),
|
||||
m_options(options),
|
||||
m_donate(nullptr),
|
||||
m_accepted(0),
|
||||
|
@ -62,6 +61,11 @@ Network::Network(const Options *options) :
|
|||
if (m_options->donateLevel() > 0) {
|
||||
m_donate = new DonateStrategy(m_agent, this);
|
||||
}
|
||||
|
||||
m_timer.data = this;
|
||||
uv_timer_init(uv_default_loop(), &m_timer);
|
||||
|
||||
uv_timer_start(&m_timer, Network::onTick, kTickInterval, kTickInterval);
|
||||
}
|
||||
|
||||
|
||||
|
@ -164,3 +168,21 @@ void Network::setJob(Client *client, const Job &job)
|
|||
|
||||
Workers::setJob(job);
|
||||
}
|
||||
|
||||
|
||||
void Network::tick()
|
||||
{
|
||||
const uint64_t now = uv_now(uv_default_loop());
|
||||
|
||||
m_strategy->tick(now);
|
||||
|
||||
if (m_donate) {
|
||||
m_donate->tick(now);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Network::onTick(uv_timer_t *handle)
|
||||
{
|
||||
static_cast<Network*>(handle->data)->tick();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue