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

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jan 28 01:36:10 UTC 2010


Author: each
Date: Thu Jan 28 01:36:10 2010
New Revision: 581

Log:
checkpoint

Modified:
    experiments/each-query/src/lib/auth/cpp/query.h

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 Thu Jan 28 01:36:10 2010
@@ -60,22 +60,22 @@
 class Query {
 public:
     Query(Message& m, bool dnssec) {
-        message_ = m;
+        message_ = &m;
         want_additional = true;
         want_dnssec = dnssec;
         _result = incomplete;
 
         // Check message formatting
-        QuestionIterator qid = message_.beginQuestion();
+        QuestionIterator qid = message_->beginQuestion();
         qid++;
-        if (qid != message_.endQuestion())
+        if (qid != message_->endQuestion())
                 dns_throw(MalformedMessage, "too many questions");
 
         // Populate the query tasks queue with the initial question
-        QuestionPtr query = *message_.beginQuestion();
-        qname_ = query->getName();
-        qclass_ = query->getClass();
-        qtype_ = query->getType();
+        QuestionPtr query = *message_->beginQuestion();
+        qname_ = &query->getName();
+        qclass_ = &query->getClass();
+        qtype_ = &query->getType();
         querytasks = new std::queue<QueryTask>;
         querytasks.push(new QueryTask(qname_, qclass_, qtype_, answer));
     };
@@ -97,7 +97,7 @@
     const RRClass& qclass() { return qclass_; }
     const RRType& qtype() { return qtype_; }
 
-    Message& message() { return message_; }
+    Message& message() { return *message_; }
     std::queue<QueryTask>& tasks() { return querytasks; }
 
     QueryResult result() { return _result; }
@@ -106,11 +106,11 @@
     QueryResult _result;
 
 private:
-    Name qname_;
-    RRClass qclass_;
-    RRType qtype_;
+    const Name* qname_;
+    const RRClass* qclass_;
+    const RRType* qtype_;
 
-    Message message_;
+    Message* message_;
     std::queue<QueryTask> querytasks;
 
     bool want_additional;




More information about the bind10-changes mailing list