mirror of
https://github.com/oxen-io/lokinet
synced 2023-12-14 06:53:00 +01:00
Remove duplicate connection closing method
`deregister_peer` does the exact same thing as `close_connection` so just remove it. Also removes an unnecessary loop dispatch call (because we *have* to be in the logic thread already to be able to touch the variables we are touching before the dispatch).
This commit is contained in:
parent
0e6a2941bd
commit
daeff3ee7e
4 changed files with 10 additions and 52 deletions
2
external/oxen-libquic
vendored
2
external/oxen-libquic
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit f903a8f6d08398c591c9fd12e93a3c35c5fa65c7
|
Subproject commit fdc8b2a514c3da0012adfcb6a0d08809c1bc5e06
|
|
@ -51,27 +51,6 @@ namespace llarp
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
Endpoint::deregister_peer(RouterID _rid)
|
|
||||||
{
|
|
||||||
if (auto itr = conns.find(_rid); itr != conns.end())
|
|
||||||
{
|
|
||||||
auto& c = itr->second;
|
|
||||||
auto& _scid = c->conn->scid();
|
|
||||||
|
|
||||||
link_manager._router.loop()->call([this, scid = _scid, rid = _rid]() {
|
|
||||||
endpoint->close_connection(scid);
|
|
||||||
|
|
||||||
conns.erase(rid);
|
|
||||||
connid_map.erase(scid);
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
Endpoint::num_connected(bool clients_only) const
|
Endpoint::num_connected(bool clients_only) const
|
||||||
{
|
{
|
||||||
|
@ -111,18 +90,15 @@ namespace llarp
|
||||||
void
|
void
|
||||||
Endpoint::close_connection(RouterID _rid)
|
Endpoint::close_connection(RouterID _rid)
|
||||||
{
|
{
|
||||||
if (auto itr = conns.find(_rid); itr != conns.end())
|
assert(link_manager._router.loop()->inEventLoop());
|
||||||
{
|
auto itr = conns.find(_rid);
|
||||||
auto& c = itr->second;
|
if (itr != conns.end())
|
||||||
auto& _scid = c->conn->scid();
|
return;
|
||||||
|
|
||||||
link_manager._router.loop()->call([this, scid = _scid, rid = _rid]() {
|
auto& conn = *itr->second->conn;
|
||||||
endpoint->close_connection(scid);
|
conn.close_connection();
|
||||||
|
connid_map.erase(conn.scid());
|
||||||
conns.erase(rid);
|
conns.erase(itr);
|
||||||
connid_map.erase(scid);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace link
|
} // namespace link
|
||||||
|
@ -464,18 +440,6 @@ namespace llarp
|
||||||
return ep.have_conn(remote, true);
|
return ep.have_conn(remote, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
LinkManager::deregister_peer(RouterID remote)
|
|
||||||
{
|
|
||||||
if (auto rv = ep.deregister_peer(remote); rv)
|
|
||||||
{
|
|
||||||
persisting_conns.erase(remote);
|
|
||||||
log::info(logcat, "Peer {} successfully de-registered", remote);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
log::warning(logcat, "Peer {} not found for de-registration!", remote);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
LinkManager::stop()
|
LinkManager::stop()
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,9 +61,6 @@ namespace llarp
|
||||||
bool
|
bool
|
||||||
have_conn(const RouterID& remote, bool client_only) const;
|
have_conn(const RouterID& remote, bool client_only) const;
|
||||||
|
|
||||||
bool
|
|
||||||
deregister_peer(RouterID remote);
|
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
num_connected(bool clients_only) const;
|
num_connected(bool clients_only) const;
|
||||||
|
|
||||||
|
@ -268,9 +265,6 @@ namespace llarp
|
||||||
bool
|
bool
|
||||||
have_client_connection_to(const RouterID& remote) const;
|
have_client_connection_to(const RouterID& remote) const;
|
||||||
|
|
||||||
void
|
|
||||||
deregister_peer(RouterID remote);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
test_reachability(const RouterID& rid, conn_open_hook, conn_closed_hook);
|
test_reachability(const RouterID& rid, conn_open_hook, conn_closed_hook);
|
||||||
|
|
||||||
|
|
|
@ -981,7 +981,7 @@ namespace llarp
|
||||||
|
|
||||||
// mark peers as de-registered
|
// mark peers as de-registered
|
||||||
for (auto& peer : close_peers)
|
for (auto& peer : close_peers)
|
||||||
_link_manager.deregister_peer(peer);
|
_link_manager.close_connection(peer);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue