diff --git a/NetDb.cpp b/NetDb.cpp index 53c6f61d..a1f0fcb7 100644 --- a/NetDb.cpp +++ b/NetDb.cpp @@ -118,7 +118,6 @@ namespace data { SaveUpdated (); ManageLeaseSets (); - ManageLookupResponses (); } lastSave = ts; } @@ -857,37 +856,17 @@ namespace data } if (!replyMsg) - { - LogPrint (eLogWarning, "NetDb: Requested ", key, " not found, ", numExcluded, " peers excluded"); - // find or cleate response - std::vector closestFloodfills; - bool found = false; - if (!numExcluded) - { - auto it = m_LookupResponses.find (ident); - if (it != m_LookupResponses.end ()) - { - closestFloodfills = it->second.first; - found = true; - } - } - if (!found) - { - std::set excludedRouters; - const uint8_t * exclude_ident = excluded; - for (int i = 0; i < numExcluded; i++) - { - excludedRouters.insert (exclude_ident); - exclude_ident += 32; - } - closestFloodfills = GetClosestFloodfills (ident, 3, excludedRouters, true); - if (!numExcluded) // save if no excluded - { - m_LookupResponses[ident] = std::make_pair(closestFloodfills, i2p::util::GetSecondsSinceEpoch ()); - if (lookupType != DATABASE_LOOKUP_TYPE_EXPLORATORY_LOOKUP && !closestFloodfills.empty ()) // we are not closest - RequestDestination (ident); // try to request for first time only - } + { + std::set excludedRouters; + const uint8_t * exclude_ident = excluded; + for (int i = 0; i < numExcluded; i++) + { + excludedRouters.insert (exclude_ident); + exclude_ident += 32; } + auto closestFloodfills = GetClosestFloodfills (ident, 3, excludedRouters, true); + if (closestFloodfills.empty ()) + LogPrint (eLogWarning, "NetDb: Requested ", key, " not found, ", numExcluded, " peers excluded"); replyMsg = CreateDatabaseSearchReply (ident, closestFloodfills); } } @@ -1195,17 +1174,5 @@ namespace data ++it; } } - - void NetDb::ManageLookupResponses () - { - auto ts = i2p::util::GetSecondsSinceEpoch (); - for (auto it = m_LookupResponses.begin (); it != m_LookupResponses.end ();) - { - if (ts > it->second.second + 120) // 2 minutes - it = m_LookupResponses.erase (it); - else - ++it; - } - } } } diff --git a/NetDb.h b/NetDb.h index 954cc74e..0a05c143 100644 --- a/NetDb.h +++ b/NetDb.h @@ -112,7 +112,6 @@ namespace data void Publish (); void ManageLeaseSets (); void ManageRequests (); - void ManageLookupResponses (); void ReseedFromFloodfill(const RouterInfo & ri, int numRouters=40, int numFloodfills=20); @@ -143,8 +142,7 @@ namespace data /** router info we are bootstrapping from or nullptr if we are not currently doing that*/ std::shared_ptr m_FloodfillBootstrap; - - std::map, uint64_t> > m_LookupResponses; // ident->(closest FFs, timestamp) + /** true if in hidden mode */ bool m_HiddenMode;