diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-06-01 09:52:51 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-06-01 09:53:04 +0200 |
| commit | cc342a3ede2d26d3124bc94f1645fe2fae040d61 (patch) | |
| tree | 6e75c4393bfc0e70299b375f0b350ab9f65febcd /src | |
| parent | Merge pull request #4264 (diff) | |
| parent | Limit number of known addresses per peer (diff) | |
| download | discoin-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.h | 1 | ||||
| -rw-r--r-- | src/net.h | 4 |
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; } @@ -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; |