daemon: fix backlog estimating at max block size

Block size will pretty much never be fully used, unless all txes
are using max fee.
This commit is contained in:
moneromooo-monero 2017-08-26 17:11:40 +01:00
parent 335681896a
commit 19393115dc
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -963,13 +963,14 @@ bool t_rpc_command_executor::print_transaction_pool_stats() {
size_t avg_bytes = n_transactions ? res.pool_stats.bytes_total / n_transactions : 0;
std::string backlog_message;
if (res.pool_stats.bytes_total <= ires.block_size_limit)
const uint64_t full_reward_zone = ires.block_size_limit / 2;
if (res.pool_stats.bytes_total <= full_reward_zone)
{
backlog_message = "no backlog";
}
else
{
uint64_t backlog = (res.pool_stats.bytes_total + ires.block_size_limit - 1) / ires.block_size_limit;
uint64_t backlog = (res.pool_stats.bytes_total + full_reward_zone - 1) / full_reward_zone;
backlog_message = (boost::format("estimated %u block (%u minutes) backlog") % backlog % (backlog * DIFFICULTY_TARGET_V2 / 60)).str();
}