[svn] commit: r678 - in /experiments/each-query/src/lib/auth/cpp: TODO data_source.cc data_source.h data_source_static.cc data_source_static.h query.h

BIND 10 source code commits bind10-changes at lists.isc.org
Sat Jan 30 01:24:03 UTC 2010


Author: each
Date: Sat Jan 30 01:24:03 2010
New Revision: 678

Log:
checkpoint

Added:
    experiments/each-query/src/lib/auth/cpp/TODO
Modified:
    experiments/each-query/src/lib/auth/cpp/data_source.cc
    experiments/each-query/src/lib/auth/cpp/data_source.h
    experiments/each-query/src/lib/auth/cpp/data_source_static.cc
    experiments/each-query/src/lib/auth/cpp/data_source_static.h
    experiments/each-query/src/lib/auth/cpp/query.h

Modified: experiments/each-query/src/lib/auth/cpp/data_source.cc
==============================================================================
--- experiments/each-query/src/lib/auth/cpp/data_source.cc (original)
+++ experiments/each-query/src/lib/auth/cpp/data_source.cc Sat Jan 30 01:24:03 2010
@@ -18,10 +18,11 @@
     Message& m = q.message();
 
     while (!q.tasks().empty()) {
+        bool found = false;
         QueryTaskPtr task = q.tasks().front();
         q.tasks().pop();
 
-        const DataSrc* ds = findClosestEnclosure(task->qname, container);
+        const DataSrc* ds = findClosestEnclosure(task->qname, container, found);
 
         if (ds == NULL) {
             result = ZONE_NOT_FOUND;

Modified: experiments/each-query/src/lib/auth/cpp/data_source.h
==============================================================================
--- experiments/each-query/src/lib/auth/cpp/data_source.h (original)
+++ experiments/each-query/src/lib/auth/cpp/data_source.h Sat Jan 30 01:24:03 2010
@@ -59,7 +59,8 @@
                                RRsetList& target) const = 0;
 
     virtual const DataSrc* findClosestEnclosure(const Name& qname,
-                                                Name& container) const = 0;
+                                                Name& container,
+                                                bool& found) const = 0;
 
     // Optional 'low-level' methods.  These will have stub implementations
     // in the general DataSrc class but MAY be overwritten by subclasses
@@ -91,7 +92,8 @@
                                RRsetList& target) const = 0;
 
     virtual const DataSrc* findClosestEnclosure(const Name& qname,
-                                                Name& container) const = 0;
+                                                Name& container,
+                                                bool& found) const = 0;
 
     const RRClass& getClass() const { return rrclass; }
     void setClass(RRClass& c) { rrclass = c; }
@@ -118,7 +120,8 @@
     };
 
     const DataSrc* findClosestEnclosure(const Name& qname,
-                                        Name& container) const
+                                        Name& container,
+                                        bool& found) const
     {
         const DataSrc* best = NULL;
         BOOST_FOREACH (DataSrc* ds, data_sources) {
@@ -128,7 +131,7 @@
                 continue;
             }
 
-            source = ds->findClosestEnclosure(qname, container);
+            source = ds->findClosestEnclosure(qname, container, found);
             if (source != NULL) {
                 best = source;
             }

Modified: experiments/each-query/src/lib/auth/cpp/data_source_static.cc
==============================================================================
--- experiments/each-query/src/lib/auth/cpp/data_source_static.cc (original)
+++ experiments/each-query/src/lib/auth/cpp/data_source_static.cc Sat Jan 30 01:24:03 2010
@@ -30,11 +30,12 @@
 }
 
 const DataSrc*
-StaticDataSrc::findClosestEnclosure(const Name& qname, Name& container) const {
+StaticDataSrc::findClosestEnclosure(const Name& qname, Name& container, bool& found) const {
     NameComparisonResult::NameRelation version_cmp = qname.compare(version_name).getRelation();
     if (version_cmp == NameComparisonResult::EQUAL ||
         version_cmp == NameComparisonResult::SUBDOMAIN) {
         if (version_name.compare(container).getRelation() == NameComparisonResult::SUBDOMAIN) {
+            found = true;
             container = version_name;
             return this;
         } else {
@@ -45,6 +46,7 @@
     if (authors_cmp == NameComparisonResult::EQUAL ||
         authors_cmp == NameComparisonResult::SUBDOMAIN) {
         if (authors_name.compare(container).getRelation() == NameComparisonResult::SUBDOMAIN) {
+            found = true;
             container = authors_name;
             return this;
         } else {

Modified: experiments/each-query/src/lib/auth/cpp/data_source_static.h
==============================================================================
--- experiments/each-query/src/lib/auth/cpp/data_source_static.h (original)
+++ experiments/each-query/src/lib/auth/cpp/data_source_static.h Sat Jan 30 01:24:03 2010
@@ -36,7 +36,8 @@
     ~StaticDataSrc() {};
 
     const DataSrc* findClosestEnclosure(const Name& qname,
-                                        Name& container) const;
+                                        Name& container,
+                                        bool& found) const;
 
     DSResult findRRset(const Name& qname,
                        const RRClass& qclass,

Modified: experiments/each-query/src/lib/auth/cpp/query.h
==============================================================================
--- experiments/each-query/src/lib/auth/cpp/query.h (original)
+++ experiments/each-query/src/lib/auth/cpp/query.h Sat Jan 30 01:24:03 2010
@@ -86,7 +86,7 @@
         qclass_ = &query->getClass();
         qtype_ = &query->getType();
         QueryTask *qt = new QueryTask(*qname_, *qclass_, *qtype_,
-                                        Section::ANSWER());
+                                      Section::ANSWER());
         querytasks.push(QueryTaskPtr(qt));
     };
 




More information about the bind10-changes mailing list