connect to reseed with timeout
Build on OSX / Build on ARM64 (push) Has been cancelled
Build on OSX / Build on Intel x86_64 (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Failing after 3h4m31s
Build on Windows / clang-x86_64 (push) Has been cancelled
Build on Windows / i686 (push) Has been cancelled
Build on Windows / ucrt-x86_64 (push) Has been cancelled
Build on Windows / x86_64 (push) Has been cancelled
Build on Windows / CMake clang-x86_64 (push) Has been cancelled
Build on Windows / CMake i686 (push) Has been cancelled
Build on Windows / CMake ucrt-x86_64 (push) Has been cancelled
Build on Windows / CMake x86_64 (push) Has been cancelled
Build on Windows / XP (push) Has been cancelled
Build Debian packages / bookworm (push) Failing after 16s
Build Debian packages / bullseye (push) Failing after 14s
Build Debian packages / trixie (push) Failing after 15s
Build on FreeBSD / with UPnP (push) Failing after 14m30s
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Failing after 15m36s
Build on Ubuntu / Make with USE_UPNP=no (push) Failing after 3h4m33s
Build containers / Building container for linux/amd64 (push) Failing after 29s
Build containers / Building container for linux/arm64 (push) Failing after 32s
Build containers / Building container for linux/arm/v7 (push) Failing after 29s
Build containers / Building container for linux/386 (push) Failing after 26s
Build containers / Pushing merged manifest (push) Has been skipped
Build on Ubuntu / Make with USE_UPNP=yes (push) Failing after 3h14m30s

This commit is contained in:
orignal
2026-02-15 17:25:41 -05:00
parent 74ff1f848a
commit 42f1396f23
2 changed files with 19 additions and 7 deletions
+18 -7
View File
@@ -686,10 +686,17 @@ namespace data
}
if (supported)
{
s.lowest_layer().connect (ep, ecode);
s.lowest_layer().async_connect (ep,
[&ecode](const boost::system::error_code& ec)
{
ecode = ec;
});
service.run_for (std::chrono::seconds (RESEED_CONNECT_TIMEOUT));
if (!service.stopped()) s.lowest_layer().close ();
if (!ecode)
{
LogPrint (eLogDebug, "Reseed: Resolved to ", ep.address ());
LogPrint (eLogDebug, "Reseed: Connected to ", ep.address ());
connected = true;
break;
}
@@ -801,13 +808,17 @@ namespace data
for (const auto& it: endpoints)
{
boost::asio::ip::tcp::endpoint ep = it;
if (
i2p::util::net::IsYggdrasilAddress (ep.address ()) &&
i2p::context.SupportsMesh ()
)
if (i2p::util::net::IsYggdrasilAddress (ep.address ()) && i2p::context.SupportsMesh ())
{
LogPrint (eLogDebug, "Reseed: Yggdrasil: Resolved to ", ep.address ());
s.connect (ep, ecode);
s.async_connect (ep,
[&ecode](const boost::system::error_code& ec)
{
ecode = ec;
});
service.run_for (std::chrono::seconds (2*RESEED_CONNECT_TIMEOUT));
if (!service.stopped()) s.close ();
if (!ecode)
{
connected = true;
+1
View File
@@ -21,6 +21,7 @@ namespace i2p
namespace data
{
constexpr int MAX_NUM_RESEED_ATTEMPTS = 10;
constexpr int RESEED_CONNECT_TIMEOUT = 5; // in seconds
class Reseeder
{