mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-13 08:11:11 +00:00
don't use unreachable RI after 1 hour
This commit is contained in:
parent
7995385a19
commit
4c2f403740
@ -259,6 +259,7 @@ namespace data
|
||||
m_Floodfills.clear ();
|
||||
|
||||
// load routers now
|
||||
uint64_t ts = i2p::util::GetMillisecondsSinceEpoch ();
|
||||
int numRouters = 0;
|
||||
boost::filesystem::directory_iterator end;
|
||||
for (boost::filesystem::directory_iterator it (p); it != end; ++it)
|
||||
@ -273,7 +274,7 @@ namespace data
|
||||
const std::string& fullPath = it1->path();
|
||||
#endif
|
||||
RouterInfo * r = new RouterInfo(fullPath);
|
||||
if (!r->IsUnreachable ())
|
||||
if (!r->IsUnreachable () && (!r->UsesIntroducer () || ts < r->GetTimestamp () + 3600*1000LL)) // 1 hour
|
||||
{
|
||||
r->DeleteBuffer ();
|
||||
m_RouterInfos[r->GetIdentHash ()] = r;
|
||||
@ -329,8 +330,10 @@ namespace data
|
||||
}
|
||||
else
|
||||
{
|
||||
// RouterInfo expires after 1 hour if uses introducer
|
||||
if ((it.second->UsesIntroducer () && ts > it.second->GetTimestamp () + 3600*1000LL) // 1 hour
|
||||
// RouterInfo expires in 72 hours if more than 300
|
||||
if (total > 300 && ts > it.second->GetTimestamp () + 3*24*3600*1000LL) // 3 days
|
||||
|| (total > 300 && ts > it.second->GetTimestamp () + 3*24*3600*1000LL)) // 3 days
|
||||
{
|
||||
total--;
|
||||
it.second->SetUnreachable (true);
|
||||
|
@ -257,6 +257,9 @@ namespace data
|
||||
case 'H':
|
||||
m_Caps |= Caps::eHidden;
|
||||
break;
|
||||
case 'U':
|
||||
m_Caps |= Caps::eUnreachable;
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
cap++;
|
||||
@ -465,7 +468,7 @@ namespace data
|
||||
|
||||
bool RouterInfo::UsesIntroducer () const
|
||||
{
|
||||
return !(m_Caps & Caps::eReachable); // non-reachable
|
||||
return m_Caps & Caps::eUnreachable; // non-reachable
|
||||
}
|
||||
|
||||
const RouterInfo::Address * RouterInfo::GetNTCPAddress (bool v4only) const
|
||||
|
@ -33,7 +33,8 @@ namespace data
|
||||
eReachable = 0x04,
|
||||
eSSUTesting = 0x08,
|
||||
eSSUIntroducer = 0x10,
|
||||
eHidden = 0x20
|
||||
eHidden = 0x20,
|
||||
eUnreachable = 0x40
|
||||
};
|
||||
|
||||
enum TransportStyle
|
||||
|
Loading…
x
Reference in New Issue
Block a user