|
|
|
@ -15,12 +15,12 @@ int CAddrInfo::GetTriedBucket(const std::vector<unsigned char>& nKey) const
|
|
|
|
|
CDataStream ss1(SER_GETHASH, 0);
|
|
|
|
|
std::vector<unsigned char> vchKey = GetKey();
|
|
|
|
|
ss1 << nKey << vchKey;
|
|
|
|
|
uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetLow64();
|
|
|
|
|
uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetCheapHash();
|
|
|
|
|
|
|
|
|
|
CDataStream ss2(SER_GETHASH, 0);
|
|
|
|
|
std::vector<unsigned char> vchGroupKey = GetGroup();
|
|
|
|
|
ss2 << nKey << vchGroupKey << (hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP);
|
|
|
|
|
uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetLow64();
|
|
|
|
|
uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetCheapHash();
|
|
|
|
|
return hash2 % ADDRMAN_TRIED_BUCKET_COUNT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -30,11 +30,11 @@ int CAddrInfo::GetNewBucket(const std::vector<unsigned char>& nKey, const CNetAd
|
|
|
|
|
std::vector<unsigned char> vchGroupKey = GetGroup();
|
|
|
|
|
std::vector<unsigned char> vchSourceGroupKey = src.GetGroup();
|
|
|
|
|
ss1 << nKey << vchGroupKey << vchSourceGroupKey;
|
|
|
|
|
uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetLow64();
|
|
|
|
|
uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetCheapHash();
|
|
|
|
|
|
|
|
|
|
CDataStream ss2(SER_GETHASH, 0);
|
|
|
|
|
ss2 << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP);
|
|
|
|
|
uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetLow64();
|
|
|
|
|
uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetCheapHash();
|
|
|
|
|
return hash2 % ADDRMAN_NEW_BUCKET_COUNT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|