mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
Merge #18289: refactor: Make scheduler methods type safe
fa36f3a295refactor: move DUMP_BANS_INTERVAL to banman.h (MarcoFalke)fadafb83cfscheduler: Make schedule* methods type safe (MarcoFalke)fa70ccc6c4scheduler: Use C++11 member initialization, add shutdown assert (MarcoFalke) Pull request description: Main benefit is that stuff like `15 * 60 * 1000` is replaced by `minutes{15}` ACKs for top commit: vasild: ACKfa36f3a(code review, not tested) ajtowns: ACKfa36f3a295jonatack: ACKfa36f3aTree-SHA512: f35f1a1d643dfa676bd47474659f6492ed05cca04cdb556064b126f654a6a44a4b93fcaddcdcd41faf81b8f11439c11e5c7ab88685ba2eef12f7188843d17ad8
This commit is contained in:
@@ -168,10 +168,10 @@ BOOST_AUTO_TEST_CASE(mockforward)
|
||||
CScheduler::Function dummy = [&counter]{counter++;};
|
||||
|
||||
// schedule jobs for 2, 5 & 8 minutes into the future
|
||||
int64_t min_in_milli = 60*1000;
|
||||
scheduler.scheduleFromNow(dummy, 2*min_in_milli);
|
||||
scheduler.scheduleFromNow(dummy, 5*min_in_milli);
|
||||
scheduler.scheduleFromNow(dummy, 8*min_in_milli);
|
||||
|
||||
scheduler.scheduleFromNow(dummy, std::chrono::minutes{2});
|
||||
scheduler.scheduleFromNow(dummy, std::chrono::minutes{5});
|
||||
scheduler.scheduleFromNow(dummy, std::chrono::minutes{8});
|
||||
|
||||
// check taskQueue
|
||||
std::chrono::system_clock::time_point first, last;
|
||||
@@ -181,10 +181,10 @@ BOOST_AUTO_TEST_CASE(mockforward)
|
||||
std::thread scheduler_thread([&]() { scheduler.serviceQueue(); });
|
||||
|
||||
// bump the scheduler forward 5 minutes
|
||||
scheduler.MockForward(std::chrono::seconds(5*60));
|
||||
scheduler.MockForward(std::chrono::minutes{5});
|
||||
|
||||
// ensure scheduler has chance to process all tasks queued for before 1 ms from now.
|
||||
scheduler.scheduleFromNow([&scheduler]{ scheduler.stop(false); }, 1);
|
||||
scheduler.scheduleFromNow([&scheduler] { scheduler.stop(false); }, std::chrono::milliseconds{1});
|
||||
scheduler_thread.join();
|
||||
|
||||
// check that the queue only has one job remaining
|
||||
|
||||
Reference in New Issue
Block a user