@ -482,6 +482,7 @@ public:
@@ -482,6 +482,7 @@ public:
//! Return the number of (unique) addresses in all tables.
size_t size ( ) const
{
LOCK ( cs ) ; // TODO: Cache this in an atomic to avoid this overhead
return vRandom . size ( ) ;
}
@ -500,14 +501,12 @@ public:
@@ -500,14 +501,12 @@ public:
//! Add a single address.
bool Add ( const CAddress & addr , const CNetAddr & source , int64_t nTimePenalty = 0 )
{
bool fRet = false ;
{
LOCK ( cs ) ;
bool fRet = false ;
Check ( ) ;
fRet | = Add_ ( addr , source , nTimePenalty ) ;
Check ( ) ;
}
if ( fRet )
LogPrint ( " addrman " , " Added %s from %s: %i tried, %i new \n " , addr . ToStringIPPort ( ) , source . ToString ( ) , nTried , nNew ) ;
return fRet ;
@ -515,15 +514,13 @@ public:
@@ -515,15 +514,13 @@ public:
//! Add multiple addresses.
bool Add ( const std : : vector < CAddress > & vAddr , const CNetAddr & source , int64_t nTimePenalty = 0 )
{
int nAdd = 0 ;
{
LOCK ( cs ) ;
int nAdd = 0 ;
Check ( ) ;
for ( std : : vector < CAddress > : : const_iterator it = vAddr . begin ( ) ; it ! = vAddr . end ( ) ; it + + )
nAdd + = Add_ ( * it , source , nTimePenalty ) ? 1 : 0 ;
Check ( ) ;
}
if ( nAdd )
LogPrint ( " addrman " , " Added %i addresses from %s: %i tried, %i new \n " , nAdd , source . ToString ( ) , nTried , nNew ) ;
return nAdd > 0 ;
@ -531,25 +528,21 @@ public:
@@ -531,25 +528,21 @@ public:
//! Mark an entry as accessible.
void Good ( const CService & addr , int64_t nTime = GetAdjustedTime ( ) )
{
{
LOCK ( cs ) ;
Check ( ) ;
Good_ ( addr , nTime ) ;
Check ( ) ;
}
}
//! Mark an entry as connection attempted to.
void Attempt ( const CService & addr , bool fCountFailure , int64_t nTime = GetAdjustedTime ( ) )
{
{
LOCK ( cs ) ;
Check ( ) ;
Attempt_ ( addr , fCountFailure , nTime ) ;
Check ( ) ;
}
}
/**
* Choose an address to connect to .
@ -581,14 +574,12 @@ public:
@@ -581,14 +574,12 @@ public:
//! Mark an entry as currently-connected-to.
void Connected ( const CService & addr , int64_t nTime = GetAdjustedTime ( ) )
{
{
LOCK ( cs ) ;
Check ( ) ;
Connected_ ( addr , nTime ) ;
Check ( ) ;
}
}
void SetServices ( const CService & addr , ServiceFlags nServices )
{