[tools] add PoissonNextSend method that returns mockable time

This commit is contained in:
Amiti Uttarwar
2019-11-05 11:06:53 +01:00
parent deb2327b43
commit 4de630354f
2 changed files with 20 additions and 4 deletions

View File

@@ -943,11 +943,13 @@ public:
void MaybeSetAddrName(const std::string& addrNameIn);
};
/** Return a timestamp in the future (in microseconds) for exponentially distributed events. */
int64_t PoissonNextSend(int64_t now, int average_interval_seconds);
/** Wrapper to return mockable type */
inline std::chrono::microseconds PoissonNextSend(std::chrono::microseconds now, std::chrono::seconds average_interval)
{
return std::chrono::microseconds{PoissonNextSend(now.count(), average_interval.count())};
}
#endif // BITCOIN_NET_H