diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2016-03-26 18:58:00 +0100 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2016-06-13 17:40:16 +0200 |
commit | 3764dec36c815267174951a4c64e17c07ee6302f (patch) | |
tree | 017bd6c2933f65f1b4ebbe34533e74c25e400dd0 /src/addrman.cpp | |
parent | 44c1b1c9bb54082625c7ad76af25473abf79f866 (diff) |
Keep addrman's nService bits consistent with outbound observations
Diffstat (limited to 'src/addrman.cpp')
-rw-r--r-- | src/addrman.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp index 00f6fe99e0..d1e98d8ac0 100644 --- a/src/addrman.cpp +++ b/src/addrman.cpp @@ -502,6 +502,24 @@ void CAddrMan::Connected_(const CService& addr, int64_t nTime) info.nTime = nTime; } +void CAddrMan::SetServices_(const CService& addr, uint64_t nServices) +{ + CAddrInfo* pinfo = Find(addr); + + // if not found, bail out + if (!pinfo) + return; + + CAddrInfo& info = *pinfo; + + // check whether we are talking about the exact same CService (including same port) + if (info != addr) + return; + + // update info + info.nServices = nServices; +} + int CAddrMan::RandomInt(int nMax){ return GetRandInt(nMax); } |