diff --git a/libi2pd/NetDbRequests.cpp b/libi2pd/NetDbRequests.cpp index edde596e..a86692b7 100644 --- a/libi2pd/NetDbRequests.cpp +++ b/libi2pd/NetDbRequests.cpp @@ -67,6 +67,18 @@ namespace data m_ExcludedPeers.clear (); } + std::set RequestedDestination::GetExcludedPeers () const + { + std::lock_guard l (m_ExcludedPeersMutex); + return m_ExcludedPeers; + } + + size_t RequestedDestination::GetNumExcludedPeers () const + { + std::lock_guard l (m_ExcludedPeersMutex); + return m_ExcludedPeers.size (); + } + void RequestedDestination::Success (std::shared_ptr r) { m_IsActive = false; @@ -188,7 +200,7 @@ namespace data { if (!dest) return false; bool ret = true; - auto count = dest->GetExcludedPeers ().size (); + auto count = dest->GetNumExcludedPeers (); if (!dest->IsExploratory () && count < MAX_NUM_REQUEST_ATTEMPTS) { auto nextFloodfill = netdb.GetClosestFloodfill (dest->GetDestination (), dest->GetExcludedPeers ()); diff --git a/libi2pd/NetDbRequests.h b/libi2pd/NetDbRequests.h index 934386ca..8c805540 100644 --- a/libi2pd/NetDbRequests.h +++ b/libi2pd/NetDbRequests.h @@ -35,8 +35,8 @@ namespace data ~RequestedDestination (); const IdentHash& GetDestination () const { return m_Destination; }; - int GetNumExcludedPeers () const { return m_ExcludedPeers.size (); }; - const std::set& GetExcludedPeers () const { return m_ExcludedPeers; }; + size_t GetNumExcludedPeers () const; + std::set GetExcludedPeers () const; void ClearExcludedPeers (); bool IsExploratory () const { return m_IsExploratory; }; bool IsDirect () const { return m_IsDirect; };