Track block download times per individual block
Currently, we're keeping a timeout for each requested block, starting from when it is requested, with a correction factor for the number of blocks in the queue. That's unnecessarily complicated and inaccurate. As peers process block requests in order, we can make the timeout for each block start counting only when all previous ones have been received, and have a correction based on the number of peers, rather than the total number of blocks. Conflicts: src/main.cpp src/main.h Self check after the last peer is removed Github-Pull: #7804 Rebased-From:2d1d6581ec0e24bbf679
This commit is contained in:
committed by
Wladimir J. van der Laan
parent
4226aacdba
commit
90f1d246d3
@@ -98,6 +98,10 @@ static const unsigned int AVG_ADDRESS_BROADCAST_INTERVAL = 30;
|
||||
/** Average delay between trickled inventory broadcasts in seconds.
|
||||
* Blocks, whitelisted receivers, and a random 25% of transactions bypass this. */
|
||||
static const unsigned int AVG_INVENTORY_BROADCAST_INTERVAL = 5;
|
||||
/** Block download timeout base, expressed in millionths of the block interval (i.e. 20 min) */
|
||||
static const int64_t BLOCK_DOWNLOAD_TIMEOUT_BASE = 2000000;
|
||||
/** Additional block download timeout per parallel downloading peer (i.e. 5 min) */
|
||||
static const int64_t BLOCK_DOWNLOAD_TIMEOUT_PER_PEER = 500000;
|
||||
|
||||
static const unsigned int DEFAULT_LIMITFREERELAY = 15;
|
||||
static const bool DEFAULT_RELAYPRIORITY = true;
|
||||
|
||||
Reference in New Issue
Block a user