Browse Source

nLastTry is only used for addrman entries

No need to define it for every CAddress, as it's memory only anyway.
pull/4/head
Pieter Wuille 9 years ago
parent
commit
1d5b47a903
  1. 4
      src/addrman.cpp
  2. 13
      src/addrman.h
  3. 2
      src/net.cpp
  4. 1
      src/protocol.cpp
  5. 3
      src/protocol.h

4
src/addrman.cpp

@ -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)) {

13
src/addrman.h

@ -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();

2
src/net.cpp

@ -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))

1
src/protocol.cpp

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

3
src/protocol.h

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

Loading…
Cancel
Save