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

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jan 29 18:45:15 UTC 2010


Author: each
Date: Fri Jan 29 18:45:15 2010
New Revision: 640

Log:
checkpoint

Modified:
    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/query.h

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 Fri Jan 29 18:45:15 2010
@@ -34,7 +34,7 @@
 };
 
 class AbstractDataSrc;
-typedef boost::shared_ptr<AbstractDataSrc> DataSrcPtr;
+typedef AbstractDataSrc* DataSrcPtr;
 
 class AbstractDataSrc {
 public:
@@ -58,7 +58,7 @@
                                RRsetList& target) = 0;
 
     virtual DataSrcPtr findClosestEnclosure(const Name& qname,
-                                               Name& container) = 0;
+                                            Name& container) = 0;
 
     // Optional 'low-level' methods.  These will have stub implementations
     // in the general DataSrc class but MAY be overwritten by subclasses
@@ -90,7 +90,7 @@
                                RRsetList& target) = 0;
 
     virtual DataSrcPtr findClosestEnclosure(const Name& qname,
-                                               Name& container) = 0;
+                                            Name& container) = 0;
 
     RRClass& getClass() { return rrclass; }
     void setClass(RRClass& c) { rrclass = c; }
@@ -104,12 +104,12 @@
 
 class MetaDataSrc : public DataSrc {
 public:
-    MetaDataSrc() : DataSrc(RRClass::IN()) {}
+    MetaDataSrc() : DataSrc(RRClass::ANY()) {}
     MetaDataSrc(const RRClass& c) : DataSrc(c) {}
     virtual ~MetaDataSrc() {}
 
     void addDataSrc(DataSrcPtr ds) {
-        if (ds->getClass() != getClass()) {
+        if (getClass() != RRClass::ANY() && ds->getClass() != getClass()) {
             dns_throw(Unexpected, "class mismatch");
         }
 
@@ -117,10 +117,14 @@
     };
 
     DataSrcPtr findClosestEnclosure(const Name& qname, Name& container) {
-        DataSrcPtr best = DataSrcPtr();
+        DataSrcPtr best = NULL;
         BOOST_FOREACH (DataSrcPtr ds, data_sources) {
             DataSrcPtr source;
             DSResult result;
+
+            if (getClass() != RRClass::ANY() && ds->getClass() != getClass()) {
+                continue;
+            }
 
             source = ds->findClosestEnclosure(qname, container);
             if (result == SUCCESS) {

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 Fri Jan 29 18:45:15 2010
@@ -26,7 +26,7 @@
 
     version = RRsetPtr(new RRset(version_name, RRClass::CH(),
                                  RRType::TXT(), RRTTL(3600)));
-    version->addRdata(rdata::generic::TXT("BIND10 0.0.0 (beta)"));
+    version->addRdata(rdata::generic::TXT("BIND10 0.0.0 (pre-alpha)"));
 }
 
 DataSrc

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 Fri Jan 29 18:45:15 2010
@@ -62,37 +62,11 @@
 
 typedef std::queue<QueryTask*> QueryTaskQueue;
 
-class AbstractQuery;
-typedef boost::shared_ptr<AbstractQuery> QueryPtr;
-
-class AbstractQuery {
-public:
-    virtual ~AbstractQuery();
-    // wantAdditional() == true indicates that additional-section data
-    // should be looked up while processing this query.  false indicates
-    // that we're only interested in answer-section data
-    virtual bool wantAdditional() = 0;
-    virtual void setWantAdditional(bool d) = 0;
-
-    // wantDnssec() == true indicates that DNSSEC data should be retrieved
-    // from the data source when this query is being processed
-    virtual bool wantDnssec() = 0;
-    virtual void setWantDnssec(bool d) = 0;
-
-    virtual const Name& qname() = 0;
-    virtual const RRClass& qclass() = 0;
-    virtual const RRType& qtype() = 0;
-
-    virtual Message& message() = 0;
-    virtual QueryTaskQueue& tasks() = 0;
-
-    virtual QueryStatus result() = 0;
-    virtual void setStatus(QueryStatus s) = 0;
-};
-
+class Query;
+typedef boost::shared_ptr<Query> QueryPtr;
 
 // Data Source query
-class Query : public AbstractQuery {
+class Query {
 public:
     Query(Message& m, bool dnssec) {
         message_ = &m;




More information about the bind10-changes mailing list