[svn] commit: r753 - in /branches/each-datasrc/src: bin/auth/auth_srv.cc bin/auth/auth_srv.h lib/auth/cpp/data_source.cc lib/auth/cpp/data_source.h lib/auth/cpp/data_source_static.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Feb 8 22:25:39 UTC 2010


Author: each
Date: Mon Feb  8 22:25:39 2010
New Revision: 753

Log:
checkpoint:
- create MetaDataSrc, link StaticDataSrc to it
- remove debugging output

Modified:
    branches/each-datasrc/src/bin/auth/auth_srv.cc
    branches/each-datasrc/src/bin/auth/auth_srv.h
    branches/each-datasrc/src/lib/auth/cpp/data_source.cc
    branches/each-datasrc/src/lib/auth/cpp/data_source.h
    branches/each-datasrc/src/lib/auth/cpp/data_source_static.cc

Modified: branches/each-datasrc/src/bin/auth/auth_srv.cc
==============================================================================
--- branches/each-datasrc/src/bin/auth/auth_srv.cc (original)
+++ branches/each-datasrc/src/bin/auth/auth_srv.cc Mon Feb  8 22:25:39 2010
@@ -66,6 +66,9 @@
         throw FatalError("could not bind socket");
 
     sock = s;
+
+    // add static data source
+    data_src.addDataSrc(new StaticDataSrc);
 }
 
 void

Modified: branches/each-datasrc/src/bin/auth/auth_srv.h
==============================================================================
--- branches/each-datasrc/src/bin/auth/auth_srv.h (original)
+++ branches/each-datasrc/src/bin/auth/auth_srv.h Mon Feb  8 22:25:39 2010
@@ -23,7 +23,6 @@
 class AuthSrv {
 public:
     explicit AuthSrv(int port);
-    //~AuthSrv() {}
     int getSocket() { return (sock); }
     void processMessage();
     void serve(std::string zone_name);
@@ -31,8 +30,7 @@
     isc::data::ElementPtr updateConfig(isc::data::ElementPtr config);
 private:
 
-    // TODO: make this a MetaDataSrc, but that one is abstract...
-    isc::dns::StaticDataSrc data_src;
+    isc::dns::MetaDataSrc data_src;
     int sock;
 };
 

Modified: branches/each-datasrc/src/lib/auth/cpp/data_source.cc
==============================================================================
--- branches/each-datasrc/src/lib/auth/cpp/data_source.cc (original)
+++ branches/each-datasrc/src/lib/auth/cpp/data_source.cc Mon Feb  8 22:25:39 2010
@@ -17,8 +17,6 @@
     DSResult result;
     Name container(".");
     Message& m = q.message();
-
-    std::cerr << "entering runQuery()\n";
 
     while (!q.tasks().empty()) {
         RRsetList data, sigs;

Modified: branches/each-datasrc/src/lib/auth/cpp/data_source.h
==============================================================================
--- branches/each-datasrc/src/lib/auth/cpp/data_source.h (original)
+++ branches/each-datasrc/src/lib/auth/cpp/data_source.h Mon Feb  8 22:25:39 2010
@@ -140,17 +140,42 @@
     }
 
     void findClosestEnclosure(NameMatch& match) const {
-        std::cerr << "in MDS::findClosestEnclosure()\n";
         BOOST_FOREACH (DataSrc* ds, data_sources) {
             if (getClass() != RRClass::ANY() && ds->getClass() != getClass()) {
                 continue;
             }
 
-            std::cerr << "trying a ds...\n";
             ds->findClosestEnclosure(match);
         }
     }
 
+    // Actual queries for data should not be sent to a MetaDataSrc object,
+    // so we return NOT_IMPLEMENTED if we receive any.
+    //
+    // Instead, use findClosestEnclosure() to get a pointer to the best
+    // concrete data source, then send all queries directly there.
+
+    DSResult findRRset(const Name& qname, const RRClass& qclass,
+                       const RRType& qtype, RRsetList& target,
+                       RRsetList& sigs) const {
+        return (NOT_IMPLEMENTED);
+    }
+
+    DSResult findRRset(const Name& qname, const RRClass& qclass,
+                       const RRType& qtype, RRsetList& target) const {
+        return (NOT_IMPLEMENTED);
+    }
+
+    DSResult findAddrs(const Name& qname, const RRClass& qclass,
+                       RRsetList& target, RRsetList& sigs) const {
+        return (NOT_IMPLEMENTED);
+    }
+
+    DSResult findAddrs(const Name& qname, const RRClass& qclass,
+                       RRsetList& target) const {
+        return (NOT_IMPLEMENTED);
+    }
+
 private:
     std::vector<DataSrc*> data_sources;
 };
@@ -163,12 +188,10 @@
     ~NameMatch() {}
 
     void update(const DataSrc& new_source, const Name& container) {
-        std::cerr << "updating name\n";
         if (closest_name_ == NULL ||
             closest_name_->getLabelCount() < container.getLabelCount()) {
             closest_name_ = &container;
             best_source_ = &new_source;
-            std::cerr << container << "\n";
         }
     }
 

Modified: branches/each-datasrc/src/lib/auth/cpp/data_source_static.cc
==============================================================================
--- branches/each-datasrc/src/lib/auth/cpp/data_source_static.cc (original)
+++ branches/each-datasrc/src/lib/auth/cpp/data_source_static.cc Mon Feb  8 22:25:39 2010
@@ -50,7 +50,6 @@
 void
 StaticDataSrc::findClosestEnclosure(NameMatch& match) const {
     const Name& qname = match.qname();
-    std::cerr << "in SDS::findClosestEnclosure() with name " << qname << "\n";
 
     NameComparisonResult::NameRelation version_cmp = 
         qname.compare(version_name).getRelation();




More information about the bind10-changes mailing list