diff options
| author | Pieter Wuille <[email protected]> | 2016-03-26 18:58:00 +0100 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2016-06-13 17:40:16 +0200 |
| commit | 3764dec36c815267174951a4c64e17c07ee6302f (patch) | |
| tree | 017bd6c2933f65f1b4ebbe34533e74c25e400dd0 /src/addrman.cpp | |
| parent | Merge #8141: Continuing port of java comparison tool (diff) | |
| download | discoin-3764dec36c815267174951a4c64e17c07ee6302f.tar.xz discoin-3764dec36c815267174951a4c64e17c07ee6302f.zip | |
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 00f6fe99e..d1e98d8ac 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); } |