@ -3,7 +3,9 @@
@@ -3,7 +3,9 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
# include "addrman.h"
# include "hash.h"
# include "serialize.h"
using namespace std ;
@ -12,12 +14,12 @@ int CAddrInfo::GetTriedBucket(const std::vector<unsigned char> &nKey) const
@@ -12,12 +14,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 hash1 = Hash ( ss1 . begin ( ) , ss1 . end ( ) ) . Get64 ( ) ;
uint64_t hash1 = Hash ( ss1 . begin ( ) , ss1 . end ( ) ) . Get64 ( ) ;
CDataStream ss2 ( SER_GETHASH , 0 ) ;
std : : vector < unsigned char > vchGroupKey = GetGroup ( ) ;
ss2 < < nKey < < vchGroupKey < < ( hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP ) ;
uint64 hash2 = Hash ( ss2 . begin ( ) , ss2 . end ( ) ) . Get64 ( ) ;
uint64_t hash2 = Hash ( ss2 . begin ( ) , ss2 . end ( ) ) . Get64 ( ) ;
return hash2 % ADDRMAN_TRIED_BUCKET_COUNT ;
}
@ -27,15 +29,15 @@ int CAddrInfo::GetNewBucket(const std::vector<unsigned char> &nKey, const CNetAd
@@ -27,15 +29,15 @@ 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 hash1 = Hash ( ss1 . begin ( ) , ss1 . end ( ) ) . Get64 ( ) ;
uint64_t hash1 = Hash ( ss1 . begin ( ) , ss1 . end ( ) ) . Get64 ( ) ;
CDataStream ss2 ( SER_GETHASH , 0 ) ;
ss2 < < nKey < < vchSourceGroupKey < < ( hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP ) ;
uint64 hash2 = Hash ( ss2 . begin ( ) , ss2 . end ( ) ) . Get64 ( ) ;
uint64_t hash2 = Hash ( ss2 . begin ( ) , ss2 . end ( ) ) . Get64 ( ) ;
return hash2 % ADDRMAN_NEW_BUCKET_COUNT ;
}
bool CAddrInfo : : IsTerrible ( int64 nNow ) const
bool CAddrInfo : : IsTerrible ( int64_t nNow ) const
{
if ( nLastTry & & nLastTry > = nNow - 60 ) // never remove things tried the last minute
return false ;
@ -55,12 +57,12 @@ bool CAddrInfo::IsTerrible(int64 nNow) const
@@ -55,12 +57,12 @@ bool CAddrInfo::IsTerrible(int64 nNow) const
return false ;
}
double CAddrInfo : : GetChance ( int64 nNow ) const
double CAddrInfo : : GetChance ( int64_t nNow ) const
{
double fChance = 1.0 ;
int64 nSinceLastSeen = nNow - nTime ;
int64 nSinceLastTry = nNow - nLastTry ;
int64_t nSinceLastSeen = nNow - nTime ;
int64_t nSinceLastTry = nNow - nLastTry ;
if ( nSinceLastSeen < 0 ) nSinceLastSeen = 0 ;
if ( nSinceLastTry < 0 ) nSinceLastTry = 0 ;
@ -129,7 +131,7 @@ int CAddrMan::SelectTried(int nKBucket)
@@ -129,7 +131,7 @@ int CAddrMan::SelectTried(int nKBucket)
// random shuffle the first few elements (using the entire list)
// find the least recently tried among them
int64 nOldest = - 1 ;
int64_t nOldest = - 1 ;
int nOldestPos = - 1 ;
for ( unsigned int i = 0 ; i < ADDRMAN_TRIED_ENTRIES_INSPECT_ON_EVICT & & i < vTried . size ( ) ; i + + )
{
@ -259,7 +261,7 @@ void CAddrMan::MakeTried(CAddrInfo& info, int nId, int nOrigin)
@@ -259,7 +261,7 @@ void CAddrMan::MakeTried(CAddrInfo& info, int nId, int nOrigin)
return ;
}
void CAddrMan : : Good_ ( const CService & addr , int64 nTime )
void CAddrMan : : Good_ ( const CService & addr , int64_t nTime )
{
int nId ;
CAddrInfo * pinfo = Find ( addr , & nId ) ;
@ -308,7 +310,7 @@ void CAddrMan::Good_(const CService &addr, int64 nTime)
@@ -308,7 +310,7 @@ void CAddrMan::Good_(const CService &addr, int64 nTime)
MakeTried ( info , nId , nUBucket ) ;
}
bool CAddrMan : : Add_ ( const CAddress & addr , const CNetAddr & source , int64 nTimePenalty )
bool CAddrMan : : Add_ ( const CAddress & addr , const CNetAddr & source , int64_t nTimePenalty )
{
if ( ! addr . IsRoutable ( ) )
return false ;
@ -321,9 +323,9 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
@@ -321,9 +323,9 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
{
// periodically update nTime
bool fCurrentlyOnline = ( GetAdjustedTime ( ) - addr . nTime < 24 * 60 * 60 ) ;
int64 nUpdateInterval = ( fCurrentlyOnline ? 60 * 60 : 24 * 60 * 60 ) ;
int64_t nUpdateInterval = ( fCurrentlyOnline ? 60 * 60 : 24 * 60 * 60 ) ;
if ( addr . nTime & & ( ! pinfo - > nTime | | pinfo - > nTime < addr . nTime - nUpdateInterval - nTimePenalty ) )
pinfo - > nTime = max ( ( int64 ) 0 , addr . nTime - nTimePenalty ) ;
pinfo - > nTime = max ( ( int64_t ) 0 , addr . nTime - nTimePenalty ) ;
// add services
pinfo - > nServices | = addr . nServices ;
@ -348,7 +350,7 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
@@ -348,7 +350,7 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
return false ;
} else {
pinfo = Create ( addr , source , & nId ) ;
pinfo - > nTime = max ( ( int64 ) 0 , ( int64 ) pinfo - > nTime - nTimePenalty ) ;
pinfo - > nTime = max ( ( int64_t ) 0 , ( int64_t ) pinfo - > nTime - nTimePenalty ) ;
nNew + + ;
fNew = true ;
}
@ -365,7 +367,7 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
@@ -365,7 +367,7 @@ bool CAddrMan::Add_(const CAddress &addr, const CNetAddr& source, int64 nTimePen
return fNew ;
}
void CAddrMan : : Attempt_ ( const CService & addr , int64 nTime )
void CAddrMan : : Attempt_ ( const CService & addr , int64_t nTime )
{
CAddrInfo * pinfo = Find ( addr ) ;
@ -504,7 +506,7 @@ void CAddrMan::GetAddr_(std::vector<CAddress> &vAddr)
@@ -504,7 +506,7 @@ void CAddrMan::GetAddr_(std::vector<CAddress> &vAddr)
}
}
void CAddrMan : : Connected_ ( const CService & addr , int64 nTime )
void CAddrMan : : Connected_ ( const CService & addr , int64_t nTime )
{
CAddrInfo * pinfo = Find ( addr ) ;
@ -519,7 +521,7 @@ void CAddrMan::Connected_(const CService &addr, int64 nTime)
@@ -519,7 +521,7 @@ void CAddrMan::Connected_(const CService &addr, int64 nTime)
return ;
// update info
int64 nUpdateInterval = 20 * 60 ;
int64_t nUpdateInterval = 20 * 60 ;
if ( nTime - info . nTime > nUpdateInterval )
info . nTime = nTime ;
}