BIND 10 trac494, updated. a6f9d5cd07ea1b21641232312cc15adcce91f1ec [trac494] moved extra callback layer to its own file

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jan 28 12:51:46 UTC 2011


The branch, trac494 has been updated
       via  a6f9d5cd07ea1b21641232312cc15adcce91f1ec (commit)
      from  2363b50bc04e0218e185561a4e198f21e8783905 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a6f9d5cd07ea1b21641232312cc15adcce91f1ec
Author: Jelte Jansen <jelte at isc.org>
Date:   Fri Jan 28 13:51:21 2011 +0100

    [trac494] moved extra callback layer to its own file

-----------------------------------------------------------------------

Summary of changes:
 src/lib/resolve/Makefile.am                        |    3 ++-
 .../resolve/{resolve.cc => resolver_callback.cc}   |    2 +-
 src/lib/resolve/{resolve.h => resolver_callback.h} |    6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)
 rename src/lib/resolve/{resolve.cc => resolver_callback.cc} (97%)
 rename src/lib/resolve/{resolve.h => resolver_callback.h} (95%)

-----------------------------------------------------------------------
diff --git a/src/lib/resolve/Makefile.am b/src/lib/resolve/Makefile.am
index ecb6323..8edb594 100644
--- a/src/lib/resolve/Makefile.am
+++ b/src/lib/resolve/Makefile.am
@@ -10,7 +10,8 @@ AM_CXXFLAGS = $(B10_CXXFLAGS)
 CLEANFILES = *.gcno *.gcda
 
 lib_LTLIBRARIES = libresolve.la
-libresolve_la_SOURCES = resolve.h resolve.cc
+libresolve_la_SOURCES = resolve.h
 libresolve_la_SOURCES += resolver_interface.h
+libresolve_la_SOURCES += resolver_callback.h resolver_callback.cc
 libresolve_la_LIBADD = $(top_builddir)/src/lib/dns/libdns++.la
 libresolve_la_LIBADD += $(top_builddir)/src/lib/exceptions/libexceptions.la
diff --git a/src/lib/resolve/resolve.cc b/src/lib/resolve/resolve.cc
deleted file mode 100644
index c42ac85..0000000
--- a/src/lib/resolve/resolve.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-// PERFORMANCE OF THIS SOFTWARE.
-
-#include <resolve/resolve.h>
-
-namespace isc {
-namespace resolve {
-
-void
-ResolverCallbackServer::callback(bool result) {
-    server_->resume(result);
-    delete server_;
-    delete this;
-}
-
-void
-ResolverCallbackDirect::callback(bool result)
-{
-    // simply return with the first rrset from answer right now
-    if (result &&
-        answer_message_->getRcode() == isc::dns::Rcode::NOERROR() &&
-        answer_message_->getRRCount(isc::dns::Message::SECTION_ANSWER) > 0) {
-        std::cout << *answer_message_ << std::endl;
-        isc::dns::RRsetIterator rrsi = answer_message_->beginSection(isc::dns::Message::SECTION_ANSWER);
-        const isc::dns::RRsetPtr result = *rrsi;
-        callback_->success(result);
-    } else {
-        callback_->failure();
-    }
-    // once called back we don't need ourselves anymore
-    delete this;
-}
-
-} // namespace resolve
-} // namespace isc
diff --git a/src/lib/resolve/resolve.h b/src/lib/resolve/resolve.h
deleted file mode 100644
index 9d23b46..0000000
--- a/src/lib/resolve/resolve.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-// PERFORMANCE OF THIS SOFTWARE.
-
-#ifndef _ISC_RESOLVE_H
-#define _ISC_RESOLVE_H 1
-
-#include <asiolink/asiolink.h>
-
-namespace isc {
-namespace resolve {
-
-// We define two types of callbackholders for processing recursive
-// queries; one calls back the original DNSServer to resume()
-// the other uses direct callbacks (for instance when we need to
-// resolve something ourselves)
-// Caller warning: only callback once! The objects will delete
-// themselves on callback (after they have done they callback)
-class AbstractResolverCallback {
-public:
-    ~AbstractResolverCallback() {};
-    virtual void callback(bool result) = 0;
-};
-
-class ResolverCallbackServer : public AbstractResolverCallback {
-public:
-    ResolverCallbackServer(asiolink::DNSServer* server) :
-        server_(server->clone()) {}
-    void callback(bool result);
-
-private:
-    asiolink::DNSServer* server_;
-};
-
-class ResolverCallbackDirect : public AbstractResolverCallback {
-public:
-    ResolverCallbackDirect(
-        const isc::resolve::ResolverInterface::CallbackPtr callback,
-        isc::dns::MessagePtr answer_message) :
-            callback_(callback),
-            answer_message_(answer_message) {}
-    void callback(bool result);
-
-private:
-    const isc::resolve::ResolverInterface::CallbackPtr callback_;
-    isc::dns::MessagePtr answer_message_;
-};
-
-} //namespace resolve
-} //namespace isc
-
-#endif // ISC_RESOLVE_H_
diff --git a/src/lib/resolve/resolver_callback.cc b/src/lib/resolve/resolver_callback.cc
new file mode 100644
index 0000000..e1096ed
--- /dev/null
+++ b/src/lib/resolve/resolver_callback.cc
@@ -0,0 +1,46 @@
+// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+#include <resolve/resolver_callback.h>
+
+namespace isc {
+namespace resolve {
+
+void
+ResolverCallbackServer::callback(bool result) {
+    server_->resume(result);
+    delete server_;
+    delete this;
+}
+
+void
+ResolverCallbackDirect::callback(bool result)
+{
+    // simply return with the first rrset from answer right now
+    if (result &&
+        answer_message_->getRcode() == isc::dns::Rcode::NOERROR() &&
+        answer_message_->getRRCount(isc::dns::Message::SECTION_ANSWER) > 0) {
+        std::cout << *answer_message_ << std::endl;
+        isc::dns::RRsetIterator rrsi = answer_message_->beginSection(isc::dns::Message::SECTION_ANSWER);
+        const isc::dns::RRsetPtr result = *rrsi;
+        callback_->success(result);
+    } else {
+        callback_->failure();
+    }
+    // once called back we don't need ourselves anymore
+    delete this;
+}
+
+} // namespace resolve
+} // namespace isc
diff --git a/src/lib/resolve/resolver_callback.h b/src/lib/resolve/resolver_callback.h
new file mode 100644
index 0000000..0abf54f
--- /dev/null
+++ b/src/lib/resolve/resolver_callback.h
@@ -0,0 +1,62 @@
+// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+#ifndef _ISC_RESOLVER_CALLBACK_H
+#define _ISC_RESOLVER_CALLBACK_H 1
+
+#include <asiolink/asiolink.h>
+
+namespace isc {
+namespace resolve {
+
+// We define two types of callbackholders for processing recursive
+// queries; one calls back the original DNSServer to resume()
+// the other uses direct callbacks (for instance when we need to
+// resolve something ourselves)
+// Caller warning: only callback once! The objects will delete
+// themselves on callback (after they have done they callback)
+class AbstractResolverCallback {
+public:
+    ~AbstractResolverCallback() {};
+    virtual void callback(bool result) = 0;
+};
+
+class ResolverCallbackServer : public AbstractResolverCallback {
+public:
+    ResolverCallbackServer(asiolink::DNSServer* server) :
+        server_(server->clone()) {}
+    void callback(bool result);
+
+private:
+    asiolink::DNSServer* server_;
+};
+
+class ResolverCallbackDirect : public AbstractResolverCallback {
+public:
+    ResolverCallbackDirect(
+        const isc::resolve::ResolverInterface::CallbackPtr callback,
+        isc::dns::MessagePtr answer_message) :
+            callback_(callback),
+            answer_message_(answer_message) {}
+    void callback(bool result);
+
+private:
+    const isc::resolve::ResolverInterface::CallbackPtr callback_;
+    isc::dns::MessagePtr answer_message_;
+};
+
+} //namespace resolve
+} //namespace isc
+
+#endif // ISC_RESOLVER_CALLBACK_H_




More information about the bind10-changes mailing list