aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2014-06-01 09:52:51 +0200
committerWladimir J. van der Laan <[email protected]>2014-06-01 09:53:04 +0200
commitcc342a3ede2d26d3124bc94f1645fe2fae040d61 (patch)
tree6e75c4393bfc0e70299b375f0b350ab9f65febcd /src
parentMerge pull request #4264 (diff)
parentLimit number of known addresses per peer (diff)
downloaddiscoin-cc342a3ede2d26d3124bc94f1645fe2fae040d61.tar.xz
discoin-cc342a3ede2d26d3124bc94f1645fe2fae040d61.zip
Merge pull request #4257
5823449 Limit number of known addresses per peer (Pieter Wuille)
Diffstat (limited to 'src')
-rw-r--r--src/mruset.h1
-rw-r--r--src/net.h4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/mruset.h b/src/mruset.h
index c36a0c8f3..c1c08b028 100644
--- a/src/mruset.h
+++ b/src/mruset.h
@@ -32,6 +32,7 @@ public:
bool empty() const { return set.empty(); }
iterator find(const key_type& k) const { return set.find(k); }
size_type count(const key_type& k) const { return set.count(k); }
+ void clear() { set.clear(); queue.clear(); }
bool inline friend operator==(const mruset<T>& a, const mruset<T>& b) { return a.set == b.set; }
bool inline friend operator==(const mruset<T>& a, const std::set<T>& b) { return a.set == b; }
bool inline friend operator<(const mruset<T>& a, const mruset<T>& b) { return a.set < b.set; }
diff --git a/src/net.h b/src/net.h
index ac90ef25e..d3346873b 100644
--- a/src/net.h
+++ b/src/net.h
@@ -262,7 +262,7 @@ public:
// flood relay
std::vector<CAddress> vAddrToSend;
- std::set<CAddress> setAddrKnown;
+ mruset<CAddress> setAddrKnown;
bool fGetAddr;
std::set<uint256> setKnown;
@@ -278,7 +278,7 @@ public:
int64_t nPingUsecTime;
bool fPingQueued;
- CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION)
+ CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION), setAddrKnown(5000)
{
nServices = 0;
hSocket = hSocketIn;