rpc: clarify getblockfrompeer behavior when called multiple times

This commit is contained in:
Sjors Provoost 2021-12-08 19:44:46 +07:00
parent 0e3d7c5ee1
commit 809d66bb65
No known key found for this signature in database
GPG key ID: 57FF9BDBCC301009
2 changed files with 5 additions and 2 deletions

View file

@ -1439,7 +1439,9 @@ bool PeerManagerImpl::FetchBlock(NodeId id, const CBlockIndex& block_index)
// Ignore pre-segwit peers
if (!state->fHaveWitness) return false;
// Mark block as in-flight unless it already is
// Mark block as in-flight unless it already is (for this peer).
// If a block was already in-flight for a different peer, its BLOCKTXN
// response will be dropped.
if (!BlockRequested(id, block_index)) return false;
// Construct message to request the block

View file

@ -781,7 +781,8 @@ static RPCHelpMan getblockfrompeer()
"getblockfrompeer",
"\nAttempt to fetch block from a given peer.\n"
"\nWe must have the header for this block, e.g. using submitheader.\n"
"\nReturns {} if a block-request was successfully scheduled\n",
"Subsequent calls for the same block and a new peer will cause the response from the previous peer to be ignored.\n"
"\nReturns an empty JSON object if the request was successfully scheduled.",
{
{"blockhash", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The block hash"},
{"nodeid", RPCArg::Type::NUM, RPCArg::Optional::NO, "The node ID (see getpeerinfo for node IDs)"},