Parcourir la source

[2268] separated zone data Loader from ZoneDataUpdater.

it doesn't have to be part of the updater (with the ability of accessing
private members).
JINMEI Tatuya il y a 12 ans
Parent
commit
ed2b8eb0e3

+ 2 - 4
src/lib/datasrc/memory/memory_client.cc

@@ -92,10 +92,8 @@ InMemoryClient::load(const Name& zone_name,
     SegmentObjectHolder<ZoneData, RRClass> holder(
         mem_sgmt_, ZoneData::create(mem_sgmt_, zone_name), rrclass_);
 
-    ZoneDataUpdater::Loader loader(mem_sgmt_, rrclass_,
-                                   zone_name, *holder.get());
-    rrset_installer(boost::bind(&ZoneDataUpdater::Loader::addFromLoad,
-                                &loader, _1));
+    ZoneDataLoader loader(mem_sgmt_, rrclass_, zone_name, *holder.get());
+    rrset_installer(boost::bind(&ZoneDataLoader::addFromLoad, &loader, _1));
     // Add any last RRsets that were left
     loader.flushNodeRRsets();
 

+ 4 - 4
src/lib/datasrc/memory/zone_data_updater.cc

@@ -346,7 +346,7 @@ ZoneDataUpdater::add(const ConstRRsetPtr& rrset,
 
 
 void
-ZoneDataUpdater::Loader::addFromLoad(const ConstRRsetPtr& rrset) {
+ZoneDataLoader::addFromLoad(const ConstRRsetPtr& rrset) {
     // If we see a new name, flush the temporary holders, adding the
     // pairs of RRsets and RRSIGs of the previous name to the zone.
     if ((!node_rrsets_.empty() || !node_rrsigsets_.empty()) &&
@@ -369,7 +369,7 @@ ZoneDataUpdater::Loader::addFromLoad(const ConstRRsetPtr& rrset) {
 }
 
 void
-ZoneDataUpdater::Loader::flushNodeRRsets() {
+ZoneDataLoader::flushNodeRRsets() {
     BOOST_FOREACH(NodeRRsetsVal val, node_rrsets_) {
         // Identify the corresponding RRSIG for the RRset, if any.  If
         // found add both the RRset and its RRSIG at once.
@@ -396,7 +396,7 @@ ZoneDataUpdater::Loader::flushNodeRRsets() {
 }
 
 RRType
-ZoneDataUpdater::Loader::getCoveredType(const ConstRRsetPtr& sig_rrset) {
+ZoneDataLoader::getCoveredType(const ConstRRsetPtr& sig_rrset) {
     RdataIteratorPtr it = sig_rrset->getRdataIterator();
     // Empty RRSIG shouldn't be passed either via a master file or
     // another data source iterator, but it could still happen if the
@@ -411,7 +411,7 @@ ZoneDataUpdater::Loader::getCoveredType(const ConstRRsetPtr& sig_rrset) {
 }
 
 const Name&
-ZoneDataUpdater::Loader::getCurrentName() const {
+ZoneDataLoader::getCurrentName() const {
     if (!node_rrsets_.empty()) {
         return (node_rrsets_.begin()->second->getName());
     }

+ 4 - 7
src/lib/datasrc/memory/zone_data_updater.h

@@ -126,10 +126,6 @@ public:
     void add(const isc::dns::ConstRRsetPtr& rrset,
              const isc::dns::ConstRRsetPtr& sig_rrset);
 
-    // A helper internal class used by InMemoryClient::load(). It
-    // maintains some intermediate states while loading RRs of the zone.
-    class Loader;
-
 private:
     // Add the necessary magic for any wildcard contained in 'name'
     // (including itself) to be found in the zone.
@@ -192,10 +188,11 @@ private:
 // do it, but since we cannot guarantee the adding operation is exception free,
 // we don't choose that option to maintain the common expectation for
 // destructors.
-class ZoneDataUpdater::Loader : boost::noncopyable {
+class ZoneDataLoader : boost::noncopyable {
 public:
-    Loader(util::MemorySegment& mem_sgmt, const isc::dns::RRClass rrclass,
-           const isc::dns::Name& zone_name, ZoneData& zone_data) :
+    ZoneDataLoader(util::MemorySegment& mem_sgmt,
+                   const isc::dns::RRClass rrclass,
+                   const isc::dns::Name& zone_name, ZoneData& zone_data) :
         updater_(mem_sgmt, rrclass, zone_name, zone_data)
     {}