loop call

pull/2232/head
dr7ana 6 months ago
parent 75e31279be
commit 4ce0385b55

@ -114,24 +114,24 @@ namespace llarp
void void
Endpoint::close_connection(RouterID _rid) Endpoint::close_connection(RouterID _rid)
{ {
assert(link_manager._router.loop()->inEventLoop()); // assert(link_manager._router.loop()->inEventLoop());
link_manager._router.loop()->call([this, rid = _rid](){
// deletion from pending_conns, pending_conn_msg_queue, active_conns, etc is taken care // deletion from pending_conns, pending_conn_msg_queue, active_conns, etc is taken care
// of by LinkManager::on_conn_closed // of by LinkManager::on_conn_closed
if (auto itr = active_conns.find(_rid); itr != active_conns.end()) if (auto itr = active_conns.find(rid); itr != active_conns.end())
{ {
auto& conn = *itr->second->conn; auto& conn = *itr->second->conn;
conn.close_connection(); conn.close_connection();
} }
else if (auto itr = pending_conns.find(_rid); itr != pending_conns.end()) else if (auto itr = pending_conns.find(rid); itr != pending_conns.end())
{ {
auto& conn = *itr->second->conn; auto& conn = *itr->second->conn;
conn.close_connection(); conn.close_connection();
} }
else else
return; return;
});
} }
} // namespace link } // namespace link
using messages::serialize_response; using messages::serialize_response;

Loading…
Cancel
Save