mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-11 12:22:39 -03:00
Merge #7862: Use txid as key in mapAlreadyAskedFor
7e91f63
Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
This commit is contained in:
commit
97d0b9889f
3 changed files with 5 additions and 5 deletions
|
@ -4955,7 +4955,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||||
CValidationState state;
|
CValidationState state;
|
||||||
|
|
||||||
pfrom->setAskFor.erase(inv.hash);
|
pfrom->setAskFor.erase(inv.hash);
|
||||||
mapAlreadyAskedFor.erase(inv);
|
mapAlreadyAskedFor.erase(inv.hash);
|
||||||
|
|
||||||
CFeeRate txFeeRate = CFeeRate(0);
|
CFeeRate txFeeRate = CFeeRate(0);
|
||||||
if (!AlreadyHave(inv) && AcceptToMemoryPool(mempool, state, tx, true, &fMissingInputs, &txFeeRate)) {
|
if (!AlreadyHave(inv) && AcceptToMemoryPool(mempool, state, tx, true, &fMissingInputs, &txFeeRate)) {
|
||||||
|
|
|
@ -93,7 +93,7 @@ CCriticalSection cs_vNodes;
|
||||||
map<CInv, CDataStream> mapRelay;
|
map<CInv, CDataStream> mapRelay;
|
||||||
deque<pair<int64_t, CInv> > vRelayExpiration;
|
deque<pair<int64_t, CInv> > vRelayExpiration;
|
||||||
CCriticalSection cs_mapRelay;
|
CCriticalSection cs_mapRelay;
|
||||||
limitedmap<CInv, int64_t> mapAlreadyAskedFor(MAX_INV_SZ);
|
limitedmap<uint256, int64_t> mapAlreadyAskedFor(MAX_INV_SZ);
|
||||||
|
|
||||||
static deque<string> vOneShots;
|
static deque<string> vOneShots;
|
||||||
CCriticalSection cs_vOneShots;
|
CCriticalSection cs_vOneShots;
|
||||||
|
@ -2436,7 +2436,7 @@ void CNode::AskFor(const CInv& inv)
|
||||||
// We're using mapAskFor as a priority queue,
|
// We're using mapAskFor as a priority queue,
|
||||||
// the key is the earliest time the request can be sent
|
// the key is the earliest time the request can be sent
|
||||||
int64_t nRequestTime;
|
int64_t nRequestTime;
|
||||||
limitedmap<CInv, int64_t>::const_iterator it = mapAlreadyAskedFor.find(inv);
|
limitedmap<uint256, int64_t>::const_iterator it = mapAlreadyAskedFor.find(inv.hash);
|
||||||
if (it != mapAlreadyAskedFor.end())
|
if (it != mapAlreadyAskedFor.end())
|
||||||
nRequestTime = it->second;
|
nRequestTime = it->second;
|
||||||
else
|
else
|
||||||
|
@ -2455,7 +2455,7 @@ void CNode::AskFor(const CInv& inv)
|
||||||
if (it != mapAlreadyAskedFor.end())
|
if (it != mapAlreadyAskedFor.end())
|
||||||
mapAlreadyAskedFor.update(it, nRequestTime);
|
mapAlreadyAskedFor.update(it, nRequestTime);
|
||||||
else
|
else
|
||||||
mapAlreadyAskedFor.insert(std::make_pair(inv, nRequestTime));
|
mapAlreadyAskedFor.insert(std::make_pair(inv.hash, nRequestTime));
|
||||||
mapAskFor.insert(std::make_pair(nRequestTime, inv));
|
mapAskFor.insert(std::make_pair(nRequestTime, inv));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,7 +164,7 @@ extern CCriticalSection cs_vNodes;
|
||||||
extern std::map<CInv, CDataStream> mapRelay;
|
extern std::map<CInv, CDataStream> mapRelay;
|
||||||
extern std::deque<std::pair<int64_t, CInv> > vRelayExpiration;
|
extern std::deque<std::pair<int64_t, CInv> > vRelayExpiration;
|
||||||
extern CCriticalSection cs_mapRelay;
|
extern CCriticalSection cs_mapRelay;
|
||||||
extern limitedmap<CInv, int64_t> mapAlreadyAskedFor;
|
extern limitedmap<uint256, int64_t> mapAlreadyAskedFor;
|
||||||
|
|
||||||
extern std::vector<std::string> vAddedNodes;
|
extern std::vector<std::string> vAddedNodes;
|
||||||
extern CCriticalSection cs_vAddedNodes;
|
extern CCriticalSection cs_vAddedNodes;
|
||||||
|
|
Loading…
Reference in a new issue