Skip to content

Commit

Permalink
refactor: drop redundant hash argument from FetchBlock
Browse files Browse the repository at this point in the history
  • Loading branch information
Sjors committed Dec 24, 2021
1 parent 8d1a3e6 commit 0e3d7c5
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 12 deletions.
7 changes: 4 additions & 3 deletions src/net_processing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ class PeerManagerImpl final : public PeerManager
/** Implement PeerManager */
void StartScheduledTasks(CScheduler& scheduler) override;
void CheckForStaleTipAndEvictPeers() override;
bool FetchBlock(NodeId id, const uint256& hash, const CBlockIndex& index) override;
bool FetchBlock(NodeId id, const CBlockIndex& block_index) override;
bool GetNodeStateStats(NodeId nodeid, CNodeStateStats& stats) const override;
bool IgnoresIncomingTxs() override { return m_ignore_incoming_txs; }
void SendPings() override;
Expand Down Expand Up @@ -1428,7 +1428,7 @@ bool PeerManagerImpl::BlockRequestAllowed(const CBlockIndex* pindex)
(GetBlockProofEquivalentTime(*pindexBestHeader, *pindex, *pindexBestHeader, m_chainparams.GetConsensus()) < STALE_RELAY_AGE_LIMIT);
}

bool PeerManagerImpl::FetchBlock(NodeId id, const uint256& hash, const CBlockIndex& index)
bool PeerManagerImpl::FetchBlock(NodeId id, const CBlockIndex& block_index)
{
if (fImporting || fReindex) return false;

Expand All @@ -1440,9 +1440,10 @@ bool PeerManagerImpl::FetchBlock(NodeId id, const uint256& hash, const CBlockInd
if (!state->fHaveWitness) return false;

// Mark block as in-flight unless it already is
if (!BlockRequested(id, index)) return false;
if (!BlockRequested(id, block_index)) return false;

// Construct message to request the block
const uint256& hash{block_index.GetBlockHash()};
std::vector<CInv> invs{CInv(MSG_BLOCK | MSG_WITNESS_FLAG, hash)};

// Send block request message to the peer
Expand Down
9 changes: 4 additions & 5 deletions src/net_processing.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ class PeerManager : public CValidationInterface, public NetEventsInterface
/**
* Attempt to manually fetch block from a given peer. We must already have the header.
*
* @param[in] id The peer id
* @param[in] hash The block hash
* @param[in] pindex The blockindex
* @returns Whether a request was successfully made
* @param[in] id The peer id
* @param[in] block_index The blockindex
* @returns Whether a request was successfully made
*/
virtual bool FetchBlock(NodeId id, const uint256& hash, const CBlockIndex& pindex) = 0;
virtual bool FetchBlock(NodeId id, const CBlockIndex& block_index) = 0;

/** Begin running background tasks, should only be called once */
virtual void StartScheduledTasks(CScheduler& scheduler) = 0;
Expand Down
7 changes: 3 additions & 4 deletions src/rpc/blockchain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -801,9 +801,8 @@ static RPCHelpMan getblockfrompeer()
PeerManager& peerman = EnsurePeerman(node);
CConnman& connman = EnsureConnman(node);

uint256 hash(ParseHashV(request.params[0], "hash"));

const NodeId nodeid = static_cast<NodeId>(request.params[1].get_int64());
const uint256 hash(ParseHashV(request.params[0], "hash"));
const NodeId nodeid{request.params[1].get_int64()};

// Check that the peer with nodeid exists
if (!connman.ForNode(nodeid, [](CNode* node) {return true;})) {
Expand All @@ -820,7 +819,7 @@ static RPCHelpMan getblockfrompeer()

if (index->nStatus & BLOCK_HAVE_DATA) {
result.pushKV("warnings", "Block already downloaded");
} else if (!peerman.FetchBlock(nodeid, hash, *index)) {
} else if (!peerman.FetchBlock(nodeid, *index)) {
throw JSONRPCError(RPC_MISC_ERROR, "Failed to fetch block from peer");
}
return result;
Expand Down

0 comments on commit 0e3d7c5

Please sign in to comment.