|
|
@ -267,7 +267,12 @@ namespace data |
|
|
|
if (wasFloodfill) |
|
|
|
if (wasFloodfill) |
|
|
|
m_Floodfills.Remove (r->GetIdentHash ()); |
|
|
|
m_Floodfills.Remove (r->GetIdentHash ()); |
|
|
|
else if (r->IsEligibleFloodfill ()) |
|
|
|
else if (r->IsEligibleFloodfill ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD || r->GetProfile ()->IsReal ()) |
|
|
|
m_Floodfills.Insert (r); |
|
|
|
m_Floodfills.Insert (r); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
r->ResetFlooldFill (); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
@ -290,13 +295,17 @@ namespace data |
|
|
|
if (inserted) |
|
|
|
if (inserted) |
|
|
|
{ |
|
|
|
{ |
|
|
|
LogPrint (eLogInfo, "NetDb: RouterInfo added: ", ident.ToBase64()); |
|
|
|
LogPrint (eLogInfo, "NetDb: RouterInfo added: ", ident.ToBase64()); |
|
|
|
if (r->IsFloodfill () && r->IsEligibleFloodfill () && |
|
|
|
if (r->IsFloodfill () && r->IsEligibleFloodfill ()) |
|
|
|
(m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD || |
|
|
|
{ |
|
|
|
r->GetProfile ()->IsReal ())) // don't insert floodfill until it's known real if we have enough
|
|
|
|
if (m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD || |
|
|
|
|
|
|
|
r->GetProfile ()->IsReal ()) // don't insert floodfill until it's known real if we have enough
|
|
|
|
{ |
|
|
|
{ |
|
|
|
std::unique_lock<std::mutex> l(m_FloodfillsMutex); |
|
|
|
std::unique_lock<std::mutex> l(m_FloodfillsMutex); |
|
|
|
m_Floodfills.Insert (r); |
|
|
|
m_Floodfills.Insert (r); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
r->ResetFlooldFill (); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|