[svn] commit: r616 - /experiments/each-query/src/lib/auth/cpp/data_source.h

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jan 29 01:12:40 UTC 2010


Author: each
Date: Fri Jan 29 01:12:40 2010
New Revision: 616

Log:
checkpoint

Modified:
    experiments/each-query/src/lib/auth/cpp/data_source.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 01:12:40 2010
@@ -79,6 +79,41 @@
     DSResult close() { return NOT_IMPLEMENTED; }
 };
 
+class MetaDataSource : public DataSource {
+public:
+    MetaDataSource() {};
+    virtual ~MetaDataSource() {};
+
+    DSResult addDataSource(DataSourcePtr ds) {
+        data_sources.push(ds);
+    };
+
+    DSResult runQuery(Query q) {
+        Name container = new Name("");
+        DataSourcePtr best;
+        BOOST_FOREACH (DataSourcePtr ds, data_sources) {
+            DSResult result;
+
+            if (ds->rdclass != q.qclass())
+                continue;
+            result = ds->findClosestEnclosure(q.qname(), container);
+            if (result == SUCCESS)
+                best = ds;
+        }
+    };
+
+    DSResult findClosestEnclosure(const Name& qname, Name& container) {
+    };
+
+    DSResult findRRset(const Name& qname, const RRClass& qclass,
+                       const RRType& qtype, RRset& target, RRset& sigs) {
+    };
+
+private:
+    std::vector<DataSourcePtr> data_sources;
+
+};
+
 }
 }
 




More information about the bind10-changes mailing list