[refactor] Change tx_relay structure to be unique_ptr

This commit is contained in:
Suhas Daftuar
2019-03-08 15:30:36 -05:00
parent 4de0dbac9b
commit c4aa2ba822
3 changed files with 66 additions and 65 deletions

View File

@@ -733,7 +733,7 @@ public:
int64_t nextSendTimeFeeFilter{0};
};
TxRelay m_tx_relay;
std::unique_ptr<TxRelay> m_tx_relay;
// Used for headers announcements - unfiltered blocks to relay
std::vector<uint256> vBlockHashesToAnnounce GUARDED_BY(cs_inventory);
@@ -849,17 +849,17 @@ public:
void AddInventoryKnown(const CInv& inv)
{
{
LOCK(m_tx_relay.cs_tx_inventory);
m_tx_relay.filterInventoryKnown.insert(inv.hash);
LOCK(m_tx_relay->cs_tx_inventory);
m_tx_relay->filterInventoryKnown.insert(inv.hash);
}
}
void PushInventory(const CInv& inv)
{
if (inv.type == MSG_TX) {
LOCK(m_tx_relay.cs_tx_inventory);
if (!m_tx_relay.filterInventoryKnown.contains(inv.hash)) {
m_tx_relay.setInventoryTxToSend.insert(inv.hash);
LOCK(m_tx_relay->cs_tx_inventory);
if (!m_tx_relay->filterInventoryKnown.contains(inv.hash)) {
m_tx_relay->setInventoryTxToSend.insert(inv.hash);
}
} else if (inv.type == MSG_BLOCK) {
LOCK(cs_inventory);