[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