diff --git a/tools/dnc/dnc.cpp b/tools/dnc/dnc.cpp index 8fce1de3632a59c4c5b53dda09a78c78d1b6aca9..db2147739ffdab8ecc522ab8a585b623b68ff925 100644 --- a/tools/dnc/dnc.cpp +++ b/tools/dnc/dnc.cpp @@ -67,16 +67,7 @@ Dnc::Dnc(dht::crypto::Identity identity, ioContext(std::make_shared<asio::io_context>()), iceFactory(std::make_shared<IceTransportFactory>(logger)) { - ioContextRunner = std::thread([context = ioContext, logger = logger] { - try { - auto work = asio::make_work_guard(*context); - context->run(); - } catch (const std::exception& ex) { - if (logger) - logger->error("Error in ioContextRunner: {}", ex.what()); - } - }); - + certStore = std::make_shared<tls::CertificateStore>(cachePath()/"certStore", logger); trustStore = std::make_shared<tls::TrustStore>(*certStore); @@ -254,6 +245,5 @@ Dnc::run() Dnc::~Dnc() { ioContext->stop(); - ioContextRunner.join(); } } // namespace dhtnet diff --git a/tools/dnc/dnc.h b/tools/dnc/dnc.h index 7d03cc97ca224b621354aa59d772a19a27fe3f9b..93132b6271289c24f6829fd5e5cbb5661a0ddcc9 100644 --- a/tools/dnc/dnc.h +++ b/tools/dnc/dnc.h @@ -65,7 +65,6 @@ private: std::shared_ptr<tls::CertificateStore> certStore; std::shared_ptr<IceTransportFactory> iceFactory; std::shared_ptr<asio::io_context> ioContext; - std::thread ioContextRunner; std::shared_ptr<tls::TrustStore> trustStore; std::pair<std::string, std::string> parseName(const std::string_view name); diff --git a/tools/dsh/dsh.cpp b/tools/dsh/dsh.cpp index 84566128757ffea9b890745a03f1af9edea310fa..5f32d4e9509850f9c9b49805a97d6b104cfbad28 100644 --- a/tools/dsh/dsh.cpp +++ b/tools/dsh/dsh.cpp @@ -92,22 +92,12 @@ dhtnet::Dsh::Dsh(dht::crypto::Identity identity, const std::string& turn_pass, const std::string& turn_realm, bool anonymous) - :logger(dht::log::getStdLogger()) - , ioContext(std::make_shared<asio::io_context>()), + :logger(dht::log::getStdLogger()), + ioContext(std::make_shared<asio::io_context>()), iceFactory(std::make_shared<IceTransportFactory>(logger)), certStore(std::make_shared<tls::CertificateStore>(cachePath()/"certstore", logger)), trustStore(std::make_shared<tls::TrustStore>(*certStore)) { - ioContext = std::make_shared<asio::io_context>(); - ioContextRunner = std::thread([context = ioContext, logger = logger] { - try { - auto work = asio::make_work_guard(*context); - context->run(); - } catch (const std::exception& ex) { - if (logger) - logger->error("Error in ioContextRunner: {}", ex.what()); - } - }); auto ca = identity.second->issuer; trustStore->setCertificateStatus(ca->getId().toString(), tls::TrustStore::PermissionStatus::ALLOWED); // Build a server @@ -272,7 +262,6 @@ dhtnet::Dsh::run() dhtnet::Dsh::~Dsh() { ioContext->stop(); - ioContextRunner.join(); } } // namespace dhtnet \ No newline at end of file diff --git a/tools/dsh/dsh.h b/tools/dsh/dsh.h index ec983a2f79acb41dcb461f7aa33bd563b1733d47..1c8759e31b9d4e0ce9d50c44859994a55754474b 100644 --- a/tools/dsh/dsh.h +++ b/tools/dsh/dsh.h @@ -52,7 +52,6 @@ private: std::shared_ptr<tls::CertificateStore> certStore {nullptr}; std::shared_ptr<dhtnet::IceTransportFactory> iceFactory {nullptr}; std::shared_ptr<asio::io_context> ioContext; - std::thread ioContextRunner; std::shared_ptr<tls::TrustStore> trustStore; }; diff --git a/tools/dvpn/dvpn.cpp b/tools/dvpn/dvpn.cpp index f6214a34b1ce9c9f3a9419ddabbffdaa1826a92b..ac4536fd9b2483bb43aebea6cef993bd2e4f8077 100644 --- a/tools/dvpn/dvpn.cpp +++ b/tools/dvpn/dvpn.cpp @@ -169,15 +169,6 @@ dhtnet::Dvpn::Dvpn(dht::crypto::Identity identity, certStore(std::make_shared<tls::CertificateStore>(cachePath()/"certstore", logger)), trustStore(std::make_shared<tls::TrustStore>(*certStore)) { - ioContextRunner = std::thread([context = ioContext, logger = logger] { - try { - auto work = asio::make_work_guard(*context); - context->run(); - } catch (const std::exception& ex) { - if (logger) - logger->error("Error in ioContextRunner: {}", ex.what()); - } - }); auto ca = identity.second->issuer; trustStore->setCertificateStatus(ca->getId().toString(), tls::TrustStore::PermissionStatus::ALLOWED); @@ -386,5 +377,4 @@ dhtnet::Dvpn::run() dhtnet::Dvpn::~Dvpn() { ioContext->stop(); - ioContextRunner.join(); } diff --git a/tools/dvpn/dvpn.h b/tools/dvpn/dvpn.h index e17775aac043a57a4e63ea1e6aa584e743946db5..0db11b2fc9938354d467b60617285008b0fb9188 100644 --- a/tools/dvpn/dvpn.h +++ b/tools/dvpn/dvpn.h @@ -63,7 +63,6 @@ public: std::shared_ptr<tls::CertificateStore> certStore; std::shared_ptr<IceTransportFactory> iceFactory; std::shared_ptr<asio::io_context> ioContext; - std::thread ioContextRunner; enum class CommunicationState { METADATA, DATA }; std::shared_ptr<tls::TrustStore> trustStore; };