Compare commits

...

2 Commits

Author SHA1 Message Date
Jason Rhinelander 7730acc552
Update libquic 2023-12-08 21:49:58 -04:00
Jason Rhinelander 8238fc1f7e
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).
2023-12-08 19:02:14 -04:00
4 changed files with 12 additions and 56 deletions

@ -1 +1 @@
Subproject commit f903a8f6d08398c591c9fd12e93a3c35c5fa65c7 Subproject commit c9271e87eaa2d6bcbdf4e49936fcce2b7bc9e693

View File

@ -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
@ -216,7 +192,7 @@ namespace llarp
std::optional<int64_t> id) -> std::shared_ptr<oxen::quic::Stream> { std::optional<int64_t> id) -> std::shared_ptr<oxen::quic::Stream> {
if (id && id == 0) if (id && id == 0)
{ {
auto s = std::make_shared<oxen::quic::BTRequestStream>( auto s = e.make_shared<oxen::quic::BTRequestStream>(
c, e, [](oxen::quic::Stream& s, uint64_t error_code) { c, e, [](oxen::quic::Stream& s, uint64_t error_code) {
log::warning( log::warning(
logcat, logcat,
@ -227,7 +203,7 @@ namespace llarp
register_commands(s); register_commands(s);
return s; return s;
} }
return std::make_shared<oxen::quic::Stream>(c, e); return nullptr;
}); });
} }
return ep; return ep;
@ -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()
{ {

View File

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

View File

@ -595,8 +595,6 @@ namespace llarp
? _listen_address ? _listen_address
: oxen::quic::Address{*paddr, pport ? *pport : DEFAULT_LISTEN_PORT}; : oxen::quic::Address{*paddr, pport ? *pport : DEFAULT_LISTEN_PORT};
log::critical(logcat, "listen_addr:{} \t public_addr:{}", _listen_address, _public_address);
RouterContact::BLOCK_BOGONS = conf.router.block_bogons; RouterContact::BLOCK_BOGONS = conf.router.block_bogons;
auto& networkConfig = conf.network; auto& networkConfig = conf.network;
@ -981,7 +979,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);
} }
*/ */