|
|
@ -44,6 +44,8 @@ static const int PING_INTERVAL = 2 * 60; |
|
|
|
static const int TIMEOUT_INTERVAL = 20 * 60; |
|
|
|
static const int TIMEOUT_INTERVAL = 20 * 60; |
|
|
|
/** The maximum number of entries in an 'inv' protocol message */ |
|
|
|
/** The maximum number of entries in an 'inv' protocol message */ |
|
|
|
static const unsigned int MAX_INV_SZ = 50000; |
|
|
|
static const unsigned int MAX_INV_SZ = 50000; |
|
|
|
|
|
|
|
/** The maximum number of new addresses to accumulate before announcing. */ |
|
|
|
|
|
|
|
static const unsigned int MAX_ADDR_TO_SEND = 1000; |
|
|
|
/** -listen default */ |
|
|
|
/** -listen default */ |
|
|
|
static const bool DEFAULT_LISTEN = true; |
|
|
|
static const bool DEFAULT_LISTEN = true; |
|
|
|
/** -upnp default */ |
|
|
|
/** -upnp default */ |
|
|
@ -368,9 +370,14 @@ public: |
|
|
|
// Known checking here is only to save space from duplicates.
|
|
|
|
// Known checking here is only to save space from duplicates.
|
|
|
|
// SendMessages will filter it again for knowns that were added
|
|
|
|
// SendMessages will filter it again for knowns that were added
|
|
|
|
// after addresses were pushed.
|
|
|
|
// after addresses were pushed.
|
|
|
|
if (addr.IsValid() && !setAddrKnown.count(addr)) |
|
|
|
if (addr.IsValid() && !setAddrKnown.count(addr)) { |
|
|
|
|
|
|
|
if (vAddrToSend.size() >= MAX_ADDR_TO_SEND) { |
|
|
|
|
|
|
|
vAddrToSend[insecure_rand() % vAddrToSend.size()] = addr; |
|
|
|
|
|
|
|
} else { |
|
|
|
vAddrToSend.push_back(addr); |
|
|
|
vAddrToSend.push_back(addr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void AddInventoryKnown(const CInv& inv) |
|
|
|
void AddInventoryKnown(const CInv& inv) |
|
|
|