Prevent stuck block download in large reorganisations
authorPieter Wuille <pieter.wuille@gmail.com>
Sun, 18 Mar 2012 22:47:26 +0000 (23:47 +0100)
committerPieter Wuille <pieter.wuille@gmail.com>
Wed, 21 Mar 2012 04:09:02 +0000 (05:09 +0100)
commit0aa89c08ff271f34271e6fd2eb1ef04afdbcab3a
tree17b2e6f8bbee2e4adebda41107c4d554eb020266
parentef142365392f57b6d6d0c54186dc7f2fc9242bec
Prevent stuck block download in large reorganisations

In cases of very large reorganisations (hundreds of blocks), a situation
may appear where an 'inv' is sent as response to a 'getblocks', but the
last block mentioned in the inv is already known to the receiver node.
However, the supplying node uses a request for this last block as a
trigger to send the rest of the inv blocks. If it never comes, the block
chain download is stuck.

This commit makes the receiver node always request the last inv'ed block,
even if it is already known, to prevent this problem.
src/main.cpp