|
|
@ -856,8 +856,11 @@ namespace transport
|
|
|
|
auto it = m_SessionsByRouterHash.find (router->GetIdentHash ());
|
|
|
|
auto it = m_SessionsByRouterHash.find (router->GetIdentHash ());
|
|
|
|
if (it != m_SessionsByRouterHash.end ())
|
|
|
|
if (it != m_SessionsByRouterHash.end ())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
auto s = it->second;
|
|
|
|
auto remoteAddr = it->second->GetAddress ();
|
|
|
|
if (it->second->IsEstablished ())
|
|
|
|
if (!remoteAddr || !remoteAddr->IsPeerTesting () ||
|
|
|
|
|
|
|
|
(v4 && !addr->IsV4 ()) || (!v4 && !addr->IsV6 ())) return false;
|
|
|
|
|
|
|
|
auto s = it->second;
|
|
|
|
|
|
|
|
if (s->IsEstablished ())
|
|
|
|
GetService ().post ([s]() { s->SendPeerTest (); });
|
|
|
|
GetService ().post ([s]() { s->SendPeerTest (); });
|
|
|
|
else
|
|
|
|
else
|
|
|
|
s->SetOnEstablished ([s]() { s->SendPeerTest (); });
|
|
|
|
s->SetOnEstablished ([s]() { s->SendPeerTest (); });
|
|
|
|