From 4c8fc1a5885634c3b463d5d44337d81cc5b1456b Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 20 Aug 2012 21:10:25 -0400 Subject: Let a node opt out of tx invs before we get a their bloom filter Note that the default value for fRelayTxes is false, meaning we now no longer relay tx inv messages before receiving the remote peer's version message. --- src/net.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/net.h') diff --git a/src/net.h b/src/net.h index 81fe312001..087b2dd6a2 100644 --- a/src/net.h +++ b/src/net.h @@ -152,6 +152,11 @@ public: bool fNetworkNode; bool fSuccessfullyConnected; bool fDisconnect; + // We use fRelayTxes for two purposes - + // a) it allows us to not relay tx invs before receiving the peer's version message + // b) the peer may tell us in their version message that we should not relay tx invs + // until they have initialized their bloom filter. + bool fRelayTxes; CSemaphoreGrant grantOutbound; CCriticalSection cs_filter; CBloomFilter* pfilter; @@ -211,6 +216,7 @@ public: nStartingHeight = -1; fGetAddr = false; nMisbehavior = 0; + fRelayTxes = false; setInventoryKnown.max_size(SendBufferSize() / 1000); pfilter = NULL; -- cgit v1.2.3