mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2026-08-28 22:59:13 +00:00
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
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:
+18
-7
@@ -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;
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user