Parcourir la source

[2208] Pass RRClass to ZoneTableSegment::create() factory method

Mukund Sivaraman il y a 12 ans
Parent
commit
4ea73cff14

+ 1 - 1
src/bin/auth/tests/auth_srv_unittest.cc

@@ -1403,7 +1403,7 @@ public:
         ConfigurableClientList(RRClass::IN()),
         real_(real_list),
         config_(Element::fromJSON("{}")),
-        ztable_segment_(ZoneTableSegment::create(*config_))
+        ztable_segment_(ZoneTableSegment::create(*config_, RRClass::IN()))
     {
         BOOST_FOREACH(const DataSourceInfo& info, real_->getDataSources()) {
              const isc::datasrc::DataSourceClientPtr

+ 1 - 1
src/lib/datasrc/client_list.cc

@@ -93,7 +93,7 @@ ConfigurableClientList::configure(const ConstElementPtr& config,
     try {
         vector<DataSourceInfo> new_data_sources;
         shared_ptr<ZoneTableSegment> ztable_segment(
-             ZoneTableSegment::create(*config));
+            ZoneTableSegment::create(*config, rrclass_));
         for (; i < config->size(); ++i) {
             // Extract the parameters
             const ConstElementPtr dconf(config->get(i));

+ 4 - 6
src/lib/datasrc/memory/zone_table_segment.cc

@@ -15,22 +15,20 @@
 #include <datasrc/memory/zone_table_segment.h>
 #include <datasrc/memory/zone_table_segment_local.h>
 
+using namespace isc::dns;
+
 namespace isc {
 namespace datasrc {
 namespace memory {
 
 ZoneTableSegment*
-ZoneTableSegment::create(const isc::data::Element&) {
+ZoneTableSegment::create(const isc::data::Element&, RRClass rrclass) {
     /// FIXME: For now, we always return ZoneTableSegmentLocal. This
     /// should be updated eventually to parse the passed Element
     /// argument and construct a corresponding ZoneTableSegment
     /// implementation.
 
-    /// FIXME: For now, we always use RRClass::IN(). This
-    /// should be updated eventually to parse the passed Element
-    /// argument and pick the appropriate RRClass.
-
-    return (new ZoneTableSegmentLocal(isc::dns::RRClass::IN()));
+    return (new ZoneTableSegmentLocal(rrclass));
 }
 
 void

+ 2 - 1
src/lib/datasrc/memory/zone_table_segment.h

@@ -97,7 +97,8 @@ public:
     /// \param config The configuration based on which a derived object
     ///               is returned.
     /// \return Returns a ZoneTableSegment object
-    static ZoneTableSegment* create(const isc::data::Element& config);
+    static ZoneTableSegment* create(const isc::data::Element& config,
+                                    isc::dns::RRClass rrclass);
 
     /// \brief Destroy a ZoneTableSegment
     ///

+ 1 - 1
src/lib/datasrc/tests/client_list_unittest.cc

@@ -257,7 +257,7 @@ public:
             "                \"noiter.org\", \"null.org\"]"
             "}]")),
         config_(Element::fromJSON("{}")),
-        ztable_segment_(ZoneTableSegment::create(*config_))
+        ztable_segment_(ZoneTableSegment::create(*config_, rrclass_))
     {
         for (size_t i(0); i < ds_count; ++ i) {
             shared_ptr<MockDataSourceClient>

+ 1 - 1
src/lib/datasrc/tests/zone_finder_context_unittest.cc

@@ -67,7 +67,7 @@ createInMemoryClient(RRClass zclass, const Name& zname)
 {
     const ElementPtr config(Element::fromJSON("{}"));
     shared_ptr<ZoneTableSegment> ztable_segment(
-        ZoneTableSegment::create(*config));
+        ZoneTableSegment::create(*config, zclass));
     shared_ptr<InMemoryClient> client(new InMemoryClient(ztable_segment,
                                                          zclass));
     client->load(zname, TEST_ZONE_FILE);