From: Peter van Dijk Date: Wed, 26 Apr 2023 12:06:11 +0000 (+0200) Subject: move loop into getAllDomainsFiltered X-Git-Tag: auth-4.8.0-beta1~1^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=000f2219b6a0d58a59278f49c4f21151be226f2d;p=thirdparty%2Fpdns.git move loop into getAllDomainsFiltered --- diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index c9a47a613a..4006e813f5 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -1651,22 +1651,31 @@ bool LMDBBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKi return true; } -void LMDBBackend::getAllDomains(vector* domains, bool /* doSerial */, bool include_disabled) -{ - domains->clear(); +void LMDBBackend::getAllDomainsFiltered(vector* domains, const std::function& allow) { auto txn = d_tdomains->getROTransaction(); for (auto iter = txn.begin(); iter != txn.end(); ++iter) { - // cerr<<"iter"<push_back(di); + } + } +} +void LMDBBackend::getAllDomains(vector* domains, bool /* doSerial */, bool include_disabled) +{ + domains->clear(); + + getAllDomainsFiltered(domains, [this, include_disabled](DomainInfo& di) { if (!getSerial(di) && !include_disabled) { - continue; + return false; } - di.backend = this; - domains->push_back(di); - } + return true; + }); + } void LMDBBackend::getUnfreshSlaveInfos(vector* domains) diff --git a/modules/lmdbbackend/lmdbbackend.hh b/modules/lmdbbackend/lmdbbackend.hh index 062e0d4976..3b69451ec6 100644 --- a/modules/lmdbbackend/lmdbbackend.hh +++ b/modules/lmdbbackend/lmdbbackend.hh @@ -309,6 +309,8 @@ private: int genChangeDomain(uint32_t id, std::function func); void deleteDomainRecords(RecordsRWTransaction& txn, uint32_t domain_id, uint16_t qtype = QType::ANY); + void getAllDomainsFiltered(vector* domains, const std::function& allow); + bool getSerial(DomainInfo& di); bool upgradeToSchemav3();