diff options
| author | Suhas Daftuar <[email protected]> | 2020-01-29 10:40:54 -0500 |
|---|---|---|
| committer | Suhas Daftuar <[email protected]> | 2020-07-18 19:00:02 -0400 |
| commit | 08b39955ec7f84e835ab0b1366f0dd28dfd6ce03 (patch) | |
| tree | 6750addfaa29efb66df8e5a5ca05c8942363fbb0 /src/net_processing.cpp | |
| parent | Just pass a hash to AddInventoryKnown (diff) | |
| download | discoin-08b39955ec7f84e835ab0b1366f0dd28dfd6ce03.tar.xz discoin-08b39955ec7f84e835ab0b1366f0dd28dfd6ce03.zip | |
Add a wtxid-index to mapRelay
Diffstat (limited to 'src/net_processing.cpp')
| -rw-r--r-- | src/net_processing.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 1373338cf..7dd8da307 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -4246,6 +4246,11 @@ bool PeerLogicValidation::SendMessages(CNode* pto) if (ret.second) { vRelayExpiration.push_back(std::make_pair(nNow + std::chrono::microseconds{RELAY_TX_CACHE_TIME}.count(), ret.first)); } + // Add wtxid-based lookup into mapRelay as well, so that peers can request by wtxid + auto ret2 = mapRelay.emplace(ret.first->second->GetWitnessHash(), ret.first->second); + if (ret2.second) { + vRelayExpiration.emplace_back(nNow + std::chrono::microseconds{RELAY_TX_CACHE_TIME}.count(), ret2.first); + } } if (vInv.size() == MAX_INV_SZ) { connman->PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv)); |