]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Invoke Namingway and change a bunch of data structure names. NFCI
authorMiod Vallat <miod.vallat@powerdns.com>
Mon, 29 Sep 2025 12:22:50 +0000 (14:22 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Mon, 29 Sep 2025 15:01:47 +0000 (17:01 +0200)
This will make them look less awkward in the near future.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
(cherry picked from commit 416166997339ddc9431d5524328c54830244e36f)

modules/lmdbbackend/lmdbbackend.cc
modules/lmdbbackend/lmdbbackend.hh

index 62aa28b6a93ca90d8ffcdcf45f194de50091c35b..5e945ab76ccb12d459bcd82e460c2af278637181 100644 (file)
@@ -646,28 +646,32 @@ bool LMDBBackend::upgradeToSchemav5(std::string& filename)
 }
 
 // Serial number cache
-bool LMDBBackend::SerialCache::get(uint32_t domainid, uint32_t& serial) const
+
+// Retrieve the transient domain info for the given domain, if any
+bool LMDBBackend::TransientDomainInfoCache::get(uint32_t domainid, TransientDomainInfo& data) const
 {
-  if (auto iter = d_serials.find(domainid); iter != d_serials.end()) {
-    serial = iter->second;
+  if (auto iter = d_data.find(domainid); iter != d_data.end()) {
+    data = iter->second;
     return true;
   }
   return false;
 }
 
-void LMDBBackend::SerialCache::remove(uint32_t domainid)
+// Remove the transient domain info for the given domain
+void LMDBBackend::TransientDomainInfoCache::remove(uint32_t domainid)
 {
-  if (auto iter = d_serials.find(domainid); iter != d_serials.end()) {
-    d_serials.erase(iter);
+  if (auto iter = d_data.find(domainid); iter != d_data.end()) {
+    d_data.erase(iter);
   }
 }
 
-void LMDBBackend::SerialCache::update(uint32_t domainid, uint32_t serial)
+// Create or update the transient domain info for the given domain
+void LMDBBackend::TransientDomainInfoCache::update(uint32_t domainid, const TransientDomainInfo& data)
 {
-  d_serials.insert_or_assign(domainid, serial);
+  d_data.insert_or_assign(domainid, data);
 }
 
-SharedLockGuarded<LMDBBackend::SerialCache> LMDBBackend::s_notified_serial;
+SharedLockGuarded<LMDBBackend::TransientDomainInfoCache> LMDBBackend::s_transient_domain_info;
 
 LMDBBackend::LMDBBackend(const std::string& suffix)
 {
@@ -1053,20 +1057,22 @@ void LMDBBackend::consolidateDomainInfo(DomainInfo& info) const
 {
   // Update the notified_serial value if we have a cached value in memory.
   if (!d_write_notification_update) {
-    auto container = s_notified_serial.read_lock();
-    container->get(info.id, info.notified_serial);
+    auto container = s_transient_domain_info.read_lock();
+    TransientDomainInfo tdi;
+    container->get(info.id, tdi);
+    info.notified_serial = tdi.notified_serial;
   }
 }
 
 void LMDBBackend::writeDomainInfo(const DomainInfo& info)
 {
   if (!d_write_notification_update) {
-    uint32_t last_notified_serial{0};
-    auto container = s_notified_serial.write_lock();
-    container->get(info.id, last_notified_serial);
+    auto container = s_transient_domain_info.write_lock();
+    TransientDomainInfo tdi;
+    container->get(info.id, tdi);
     // Only remove the in-memory value if it has not been modified since the
     // DomainInfo data was set up.
-    if (last_notified_serial == info.notified_serial) {
+    if (tdi.notified_serial == info.notified_serial) {
       container->remove(info.id);
     }
   }
@@ -1445,7 +1451,7 @@ bool LMDBBackend::deleteDomain(const DNSName& domain)
 
     // Remove zone
     {
-      auto container = s_notified_serial.write_lock();
+      auto container = s_transient_domain_info.write_lock();
       container->remove(static_cast<uint32_t>(id));
     }
     auto txn = d_tdomains->getRWTransaction();
@@ -1892,8 +1898,12 @@ void LMDBBackend::setNotified(uint32_t domain_id, uint32_t serial)
 
   DomainInfo info;
   if (findDomain(domain_id, info)) {
-    auto container = s_notified_serial.write_lock();
-    container->update(info.id, serial);
+    auto container = s_transient_domain_info.write_lock();
+    TransientDomainInfo tdi;
+    // will need container->get(info.id, tdi); once TransientDomainInfo grows
+    // more fields.
+    tdi.notified_serial = serial;
+    container->update(info.id, tdi);
   }
 }
 
index c7d6c115817a026e03c1172c084a315ad989f06c..4a0fcbd2d0aa90034fa8263b90091285b51fef6d 100644 (file)
@@ -326,18 +326,24 @@ private:
   std::string d_matchkey;
   DNSName d_lookupdomain;
 
+  // Transient DomainInfo data, not necessarily synchronized with the
+  // database.
+  struct TransientDomainInfo
+  {
+    uint32_t notified_serial{};
+  };
   // Cache of DomainInfo notified_serial values
-  class SerialCache : public boost::noncopyable
+  class TransientDomainInfoCache : public boost::noncopyable
   {
   public:
-    bool get(uint32_t domainid, uint32_t& serial) const;
+    bool get(uint32_t domainid, TransientDomainInfo& data) const;
     void remove(uint32_t domainid);
-    void update(uint32_t domainid, uint32_t serial);
+    void update(uint32_t domainid, const TransientDomainInfo& data);
 
   private:
-    std::unordered_map<uint32_t, uint32_t> d_serials;
+    std::unordered_map<uint32_t, TransientDomainInfo> d_data;
   };
-  static SharedLockGuarded<SerialCache> s_notified_serial;
+  static SharedLockGuarded<TransientDomainInfoCache> s_transient_domain_info;
 
   vector<LMDBResourceRecord> d_currentrrset;
   size_t d_currentrrsetpos;