use copy of excluded peers

This commit is contained in:
orignal 2024-04-27 08:38:43 -04:00
parent 8fe989050e
commit 648a884a18
2 changed files with 15 additions and 3 deletions

View File

@ -67,6 +67,18 @@ namespace data
m_ExcludedPeers.clear ();
}
std::set<IdentHash> RequestedDestination::GetExcludedPeers () const
{
std::lock_guard<std::mutex> l (m_ExcludedPeersMutex);
return m_ExcludedPeers;
}
size_t RequestedDestination::GetNumExcludedPeers () const
{
std::lock_guard<std::mutex> l (m_ExcludedPeersMutex);
return m_ExcludedPeers.size ();
}
void RequestedDestination::Success (std::shared_ptr<RouterInfo> 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 ());

View File

@ -35,8 +35,8 @@ namespace data
~RequestedDestination ();
const IdentHash& GetDestination () const { return m_Destination; };
int GetNumExcludedPeers () const { return m_ExcludedPeers.size (); };
const std::set<IdentHash>& GetExcludedPeers () const { return m_ExcludedPeers; };
size_t GetNumExcludedPeers () const;
std::set<IdentHash> GetExcludedPeers () const;
void ClearExcludedPeers ();
bool IsExploratory () const { return m_IsExploratory; };
bool IsDirect () const { return m_IsDirect; };