1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-01-31 09:04:14 +00:00

clear unreachable flag upon succesive connect

This commit is contained in:
orignal 2023-07-17 18:44:51 -04:00
parent e7157cf15e
commit c620fc1232
4 changed files with 8 additions and 10 deletions

View File

@ -424,12 +424,9 @@ namespace data
if (r) if (r)
{ {
r->SetUnreachable (unreachable); r->SetUnreachable (unreachable);
if (unreachable) auto profile = r->GetProfile ();
{ if (profile)
auto profile = r->GetProfile (); profile->Unreachable (unreachable);
if (profile)
profile->Unreachable ();
}
} }
} }

View File

@ -165,12 +165,12 @@ namespace data
} }
} }
void RouterProfile::Unreachable () void RouterProfile::Unreachable (bool unreachable)
{ {
m_LastUnreachableTime = i2p::util::GetSecondsSinceEpoch (); m_LastUnreachableTime = unreachable ? i2p::util::GetSecondsSinceEpoch () : 0;
UpdateTime (); UpdateTime ();
} }
void RouterProfile::Connected () void RouterProfile::Connected ()
{ {
m_HasConnected = true; m_HasConnected = true;

View File

@ -55,7 +55,7 @@ namespace data
void TunnelBuildResponse (uint8_t ret); void TunnelBuildResponse (uint8_t ret);
void TunnelNonReplied (); void TunnelNonReplied ();
void Unreachable (); void Unreachable (bool unreachable);
void Connected (); void Connected ();
boost::posix_time::ptime GetLastUpdateTime () const { return m_LastUpdateTime; }; boost::posix_time::ptime GetLastUpdateTime () const { return m_LastUpdateTime; };

View File

@ -716,6 +716,7 @@ namespace transport
if (transport == i2p::data::RouterInfo::eNTCP2V4 || if (transport == i2p::data::RouterInfo::eNTCP2V4 ||
transport == i2p::data::RouterInfo::eNTCP2V6 || transport == i2p::data::RouterInfo::eNTCP2V6Mesh) transport == i2p::data::RouterInfo::eNTCP2V6 || transport == i2p::data::RouterInfo::eNTCP2V6Mesh)
it->second.router->GetProfile ()->Connected (); // outgoing NTCP2 connection if always real it->second.router->GetProfile ()->Connected (); // outgoing NTCP2 connection if always real
i2p::data::netdb.SetUnreachable (ident, false); // clear unreachable
} }
it->second.numAttempts = 0; it->second.numAttempts = 0;
it->second.router = nullptr; // we don't need RouterInfo after successive connect it->second.router = nullptr; // we don't need RouterInfo after successive connect