Randomized donation start time.

This commit is contained in:
XMRig 2018-03-24 09:41:32 +07:00
parent 8aa73318c8
commit 673a1291e1
3 changed files with 13 additions and 7 deletions

View file

@ -41,6 +41,11 @@ const static char *kDonatePool1 = "miner.fee.xmrig.com";
const static char *kDonatePool2 = "emergency.fee.xmrig.com";
static inline int random(int min, int max){
return min + rand() / (RAND_MAX / (max - min + 1) + 1);
}
DonateStrategy::DonateStrategy(int level, const char *user, int algo, IStrategyListener *listener) :
m_active(false),
m_donateTime(level * 60 * 1000),
@ -69,7 +74,7 @@ DonateStrategy::DonateStrategy(int level, const char *user, int algo, IStrategyL
m_timer.data = this;
uv_timer_init(uv_default_loop(), &m_timer);
idle();
idle(random(3000, 9000) * 1000 - m_donateTime);
}
@ -132,9 +137,9 @@ void DonateStrategy::onResultAccepted(IStrategy *strategy, Client *client, const
}
void DonateStrategy::idle()
void DonateStrategy::idle(uint64_t timeout)
{
uv_timer_start(&m_timer, DonateStrategy::onTimer, m_idleTime, 0);
uv_timer_start(&m_timer, DonateStrategy::onTimer, timeout, 0);
}
@ -145,7 +150,7 @@ void DonateStrategy::suspend()
m_active = false;
m_listener->onPause(this);
idle();
idle(m_idleTime);
}

View file

@ -61,7 +61,7 @@ protected:
void onResultAccepted(IStrategy *strategy, Client *client, const SubmitResult &result, const char *error) override;
private:
void idle();
void idle(uint64_t timeout);
void suspend();
static void onTimer(uv_timer_t *handle);