mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
Compare commits
2 Commits
b3d09513b8
...
1e7254dfaa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e7254dfaa | ||
|
|
ca0818af7e |
@@ -294,6 +294,7 @@ namespace data
|
||||
}
|
||||
else
|
||||
{
|
||||
r->CancelBufferToDelete (); // since an update received
|
||||
if (CheckLogLevel (eLogDebug))
|
||||
LogPrint (eLogDebug, "NetDb: RouterInfo is older: ", ident.ToBase64());
|
||||
updated = false;
|
||||
|
||||
@@ -560,7 +560,14 @@ namespace transport
|
||||
bool Transports::ConnectToPeer (const i2p::data::IdentHash& ident, std::shared_ptr<Peer> peer)
|
||||
{
|
||||
if (!peer->router) // reconnect
|
||||
peer->SetRouter (netdb.FindRouter (ident)); // try to get new one from netdb
|
||||
{
|
||||
auto r = netdb.FindRouter (ident); // try to get new one from netdb
|
||||
if (r)
|
||||
{
|
||||
peer->SetRouter (r);
|
||||
r->CancelBufferToDelete ();
|
||||
}
|
||||
}
|
||||
if (peer->router) // we have RI already
|
||||
{
|
||||
if (peer->priority.empty ())
|
||||
@@ -964,8 +971,13 @@ namespace transport
|
||||
}
|
||||
else
|
||||
{
|
||||
std::lock_guard<std::mutex> l(m_PeersMutex);
|
||||
m_Peers.erase (it);
|
||||
{
|
||||
std::lock_guard<std::mutex> l(m_PeersMutex);
|
||||
m_Peers.erase (it);
|
||||
}
|
||||
// delete buffer of just disconnected router
|
||||
auto r = i2p::data::netdb.FindRouter (ident);
|
||||
if (r && !r->IsUpdated ()) r->ScheduleBufferToDelete ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user