diff --git a/src/account.cpp b/src/account.cpp index ded7046ca290eeddc60a575c5f715f30cf3b7c6d..ca588b5326d7a97b2d826b9e5923991aab39c471 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -72,7 +72,7 @@ namespace jami { const std::string Account::DEFAULT_USER_AGENT = Account::getDefaultUserAgent(); Account::Account(const std::string& accountID) - : rand(dht::crypto::getSeededRandomEngine<std::mt19937_64>()) + : rand(Manager::instance().getSeededRandomEngine()) , accountID_(accountID) , systemCodecContainer_(getSystemCodecContainer()) { diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index 187dbe051977e585d8a45d31b7bef727d2e5ea75..b54efd5cc03b5defabb5040015596982c320b0c8 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -166,13 +166,13 @@ public: ioContext_ = Manager::instance().ioContext(); fallbackTimer_ = std::make_unique<asio::steady_timer>(*ioContext_); swarmManager_ = std::make_shared<SwarmManager>(NodeId(shared->currentDeviceId()), - shared->rand, - [account=account_](const DeviceId& deviceId) { - if (auto acc = account.lock()) { - return acc->isConnectedWith(deviceId); - } - return false; - }); + Manager::instance().getSeededRandomEngine(), + [account=account_](const DeviceId& deviceId) { + if (auto acc = account.lock()) { + return acc->isConnectedWith(deviceId); + } + return false; + }); swarmManager_->setMobility(shared->isMobile()); accountId_ = shared->getAccountID(); transferManager_ = std::make_shared<TransferManager>(shared->getAccountID(), diff --git a/src/jamidht/swarm/swarm_manager.cpp b/src/jamidht/swarm/swarm_manager.cpp index 837e1f1ea28fd903a3ca7e0764efdd4ba8478f5c..8d042ca3e2dc88f8e11cdfd1a3fa1e3fa35a8734 100644 --- a/src/jamidht/swarm/swarm_manager.cpp +++ b/src/jamidht/swarm/swarm_manager.cpp @@ -28,7 +28,7 @@ namespace jami { using namespace swarm_protocol; -SwarmManager::SwarmManager(const NodeId& id, std::mt19937_64& rand, ToConnectCb&& toConnectCb) +SwarmManager::SwarmManager(const NodeId& id, const std::mt19937_64& rand, ToConnectCb&& toConnectCb) : id_(id) , rd(rand) , toConnectCb_(toConnectCb) diff --git a/src/jamidht/swarm/swarm_manager.h b/src/jamidht/swarm/swarm_manager.h index f568397cc14301d542b6b42af3bb6bdfef42e658..dfa3d0c2bf1818aaecc7659f3d1eb7c70172f7ff 100644 --- a/src/jamidht/swarm/swarm_manager.h +++ b/src/jamidht/swarm/swarm_manager.h @@ -38,7 +38,7 @@ class SwarmManager : public std::enable_shared_from_this<SwarmManager> using OnConnectionChanged = std::function<void(bool ok)>; public: - explicit SwarmManager(const NodeId&, std::mt19937_64& rand, ToConnectCb&& toConnectCb); + explicit SwarmManager(const NodeId&, const std::mt19937_64& rand, ToConnectCb&& toConnectCb); ~SwarmManager(); NeedSocketCb needSocketCb_; @@ -228,7 +228,7 @@ private: const NodeId id_; bool isMobile_ {false}; - std::mt19937_64& rd; + std::mt19937_64 rd; mutable std::mutex mutex; RoutingTable routing_table;