|
|
|
@ -127,7 +127,7 @@ namespace llarp
|
|
|
|
|
ILinkLayer::Pump()
|
|
|
|
|
{
|
|
|
|
|
std::unordered_set< RouterID, RouterID::Hash > closedSessions;
|
|
|
|
|
std::unordered_set< RouterID, RouterID::Hash > closedPending;
|
|
|
|
|
std::vector< std::shared_ptr< ILinkSession > > closedPending;
|
|
|
|
|
auto _now = Now();
|
|
|
|
|
{
|
|
|
|
|
ACQUIRE_LOCK(Lock_t l, m_AuthedLinksMutex);
|
|
|
|
@ -164,9 +164,7 @@ namespace llarp
|
|
|
|
|
{
|
|
|
|
|
LogInfo("pending session at ", itr->first, " timed out");
|
|
|
|
|
// defer call so we can acquire mutexes later
|
|
|
|
|
auto pk = itr->second->GetPubKey();
|
|
|
|
|
if(not pk.IsZero())
|
|
|
|
|
closedPending.emplace(pk);
|
|
|
|
|
closedPending.emplace_back(std::move(itr->second));
|
|
|
|
|
itr = m_Pending.erase(itr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -183,7 +181,7 @@ namespace llarp
|
|
|
|
|
}
|
|
|
|
|
for(const auto& pending : closedPending)
|
|
|
|
|
{
|
|
|
|
|
SessionClosed(pending);
|
|
|
|
|
HandleTimeout(pending.get());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|