|
|
@ -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 (); }); |
|
|
|