nLastTry is only used for addrman entries

No need to define it for every CAddress, as it's memory only anyway.
This commit is contained in:
Pieter Wuille 2015-04-19 11:10:13 -07:00
parent 8f955b9661
commit 1d5b47a903
5 changed files with 10 additions and 13 deletions

View file

@ -332,10 +332,10 @@ void CAddrMan::Attempt_(const CService& addr, int64_t nTime)
info.nAttempts++;
}
CAddress CAddrMan::Select_()
CAddrInfo CAddrMan::Select_()
{
if (size() == 0)
return CAddress();
return CAddrInfo();
// Use a 50% chance for choosing between tried and new table entries.
if (nTried > 0 && (nNew == 0 || GetRandInt(2) == 0)) {

View file

@ -22,6 +22,10 @@
*/
class CAddrInfo : public CAddress
{
public:
//! last try whatsoever by us (memory only)
int64_t nLastTry;
private:
//! where knowledge about this address first came from
CNetAddr source;
@ -29,9 +33,6 @@ private:
//! last successful connection by us
int64_t nLastSuccess;
//! last try whatsoever by us:
// int64_t CAddress::nLastTry
//! connection attempts since last successful attempt
int nAttempts;
@ -231,7 +232,7 @@ protected:
//! Select an address to connect to.
//! nUnkBias determines how much to favor new addresses over tried ones (min=0, max=100)
CAddress Select_();
CAddrInfo Select_();
#ifdef DEBUG_ADDRMAN
//! Perform consistency check. Returns an error code or zero.
@ -533,9 +534,9 @@ public:
* Choose an address to connect to.
* nUnkBias determines how much "new" entries are favored over "tried" ones (0-100).
*/
CAddress Select()
CAddrInfo Select()
{
CAddress addrRet;
CAddrInfo addrRet;
{
LOCK(cs);
Check();

View file

@ -1221,7 +1221,7 @@ void ThreadOpenConnections()
int nTries = 0;
while (true)
{
CAddress addr = addrman.Select();
CAddrInfo addr = addrman.Select();
// if we selected an invalid address, restart
if (!addr.IsValid() || setConnected.count(addr.GetGroup()) || IsLocal(addr))

View file

@ -89,7 +89,6 @@ void CAddress::Init()
{
nServices = NODE_NETWORK;
nTime = 100000000;
nLastTry = 0;
}
CInv::CInv()

View file

@ -116,9 +116,6 @@ public:
// disk and network only
unsigned int nTime;
// memory only
int64_t nLastTry;
};
/** inv message data */