diff --git a/src/dht.cpp b/src/dht.cpp index b7e455e2cfeac689bc5e5676660a3fe71b1bc6b8..74c563b2c6867ec11d392dfe1eb4856a896772f0 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -43,6 +43,7 @@ constexpr duration Dht::LISTEN_EXPIRE_TIME; constexpr duration Dht::LISTEN_EXPIRE_TIME_PUBLIC; constexpr duration Dht::REANNOUNCE_MARGIN; static constexpr size_t MAX_REQUESTS_PER_SEC {8 * 1024}; +static constexpr duration BOOTSTRAP_PERIOD_MAX {std::chrono::hours(24)}; NodeStatus Dht::updateStatus(sa_family_t af) @@ -2058,7 +2059,7 @@ Dht::bootstrap() if (bootstrapJob) bootstrapJob->cancel(); bootstrapJob = scheduler.add(scheduler.time() + bootstrap_period, std::bind(&Dht::bootstrap, this)); - bootstrap_period *= 2; + bootstrap_period = std::min(bootstrap_period * 2, BOOTSTRAP_PERIOD_MAX); } void