@@ -90,8 +90,8 @@ std::string strSubVersion;
9090
9191vector<CNode*> vNodes;
9292CCriticalSection cs_vNodes;
93- map<CInv, CDataStream > mapRelay;
94- deque<pair<int64_t , CInv > > vRelayExpiration;
93+ map<uint256, CTransaction > mapRelay;
94+ deque<pair<int64_t , uint256 > > vRelayExpiration;
9595CCriticalSection cs_mapRelay;
9696limitedmap<uint256, int64_t > mapAlreadyAskedFor (MAX_INV_SZ );
9797
@@ -2054,14 +2054,6 @@ instance_of_cnetcleanup;
20542054
20552055
20562056void RelayTransaction (const CTransaction& tx, CFeeRate feerate)
2057- {
2058- CDataStream ss (SER_NETWORK , PROTOCOL_VERSION );
2059- ss.reserve (10000 );
2060- ss << tx;
2061- RelayTransaction (tx, feerate, ss);
2062- }
2063-
2064- void RelayTransaction (const CTransaction& tx, CFeeRate feerate, const CDataStream& ss)
20652057{
20662058 CInv inv (MSG_TX , tx.GetHash ());
20672059 {
@@ -2073,9 +2065,8 @@ void RelayTransaction(const CTransaction& tx, CFeeRate feerate, const CDataStrea
20732065 vRelayExpiration.pop_front ();
20742066 }
20752067
2076- // Save original serialized message so newer versions are preserved
2077- mapRelay.insert (std::make_pair (inv, ss));
2078- vRelayExpiration.push_back (std::make_pair (GetTime () + 15 * 60 , inv));
2068+ mapRelay.insert (std::make_pair (inv.hash , tx));
2069+ vRelayExpiration.push_back (std::make_pair (GetTime () + 15 * 60 , inv.hash ));
20792070 }
20802071 LOCK (cs_vNodes);
20812072 BOOST_FOREACH (CNode* pnode, vNodes)
0 commit comments