[svn] commit: r633 - in /branches/parkinglot: ./ src/bin/parkinglot/ src/lib/dns/cpp/ src/lib/dns/cpp/rdata/ src/lib/dns/cpp/rdata/ch_3/ src/lib/dns/cpp/rdata/generic/ src/lib/dns/cpp/rdata/in_1/
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Jan 29 09:36:01 UTC 2010
Author: jinmei
Date: Fri Jan 29 09:36:01 2010
New Revision: 633
Log:
- moved concrete Rdata class definitions to separate directories under rdata/
- introduced unified auto-code generation with a python script for the rdata
related definitions
Added:
branches/parkinglot/src/lib/dns/cpp/gen-rdatacode.py.in (with props)
branches/parkinglot/src/lib/dns/cpp/rdata/
branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/
branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/a_1.cc
branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/a_1.h
branches/parkinglot/src/lib/dns/cpp/rdata/generic/
branches/parkinglot/src/lib/dns/cpp/rdata/generic/mx_15.cc
branches/parkinglot/src/lib/dns/cpp/rdata/generic/mx_15.h
branches/parkinglot/src/lib/dns/cpp/rdata/generic/ns_2.cc
branches/parkinglot/src/lib/dns/cpp/rdata/generic/ns_2.h
branches/parkinglot/src/lib/dns/cpp/rdata/generic/soa_6.cc
branches/parkinglot/src/lib/dns/cpp/rdata/generic/soa_6.h
branches/parkinglot/src/lib/dns/cpp/rdata/generic/txt_16.cc
branches/parkinglot/src/lib/dns/cpp/rdata/generic/txt_16.h
branches/parkinglot/src/lib/dns/cpp/rdata/in_1/
branches/parkinglot/src/lib/dns/cpp/rdata/in_1/a_1.cc
branches/parkinglot/src/lib/dns/cpp/rdata/in_1/a_1.h
branches/parkinglot/src/lib/dns/cpp/rdata/in_1/aaaa_28.cc
branches/parkinglot/src/lib/dns/cpp/rdata/in_1/aaaa_28.h
branches/parkinglot/src/lib/dns/cpp/rdata/template.cc
branches/parkinglot/src/lib/dns/cpp/rdata/template.h
branches/parkinglot/src/lib/dns/cpp/rrclass-placeholder.h
branches/parkinglot/src/lib/dns/cpp/rrparamregistry-placeholder.cc
branches/parkinglot/src/lib/dns/cpp/rrtype-placeholder.h
Removed:
branches/parkinglot/src/lib/dns/cpp/rrclass.h
branches/parkinglot/src/lib/dns/cpp/rrparamregistry.cc
branches/parkinglot/src/lib/dns/cpp/rrtype.h
Modified:
branches/parkinglot/configure.ac
branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc
branches/parkinglot/src/bin/parkinglot/builtin_bench.cc
branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
branches/parkinglot/src/lib/dns/cpp/Makefile.am
branches/parkinglot/src/lib/dns/cpp/message_unittest.cc
branches/parkinglot/src/lib/dns/cpp/rdata.cc
branches/parkinglot/src/lib/dns/cpp/rdata.h
branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc
branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc
Modified: branches/parkinglot/configure.ac
==============================================================================
--- branches/parkinglot/configure.ac (original)
+++ branches/parkinglot/configure.ac Fri Jan 29 09:36:01 2010
@@ -180,6 +180,7 @@
src/bin/msgq/msgq_test
src/bin/msgq/run_msgq.sh
src/bin/parkinglot/config.h
+ src/lib/dns/cpp/gen-rdatacode.py
], [
chmod +x src/bin/cfgmgr/run_b10-cfgmgr.sh
chmod +x src/bin/cmdctl/run_b10-cmdctl.sh
@@ -187,5 +188,6 @@
chmod +x src/bin/bindctl/bindctl
chmod +x src/bin/msgq/run_msgq.sh
chmod +x src/bin/msgq/msgq_test
+ chmod +x src/lib/dns/cpp/gen-rdatacode.py
])
AC_OUTPUT
Modified: branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc Fri Jan 29 09:36:01 2010
@@ -29,6 +29,7 @@
#include <dns/cpp/messagerenderer.h>
#include <dns/cpp/name.h>
#include <dns/cpp/question.h>
+#include <dns/cpp/rdataclass.h>
#include <dns/cpp/rrset.h>
#include <dns/cpp/rrttl.h>
#include <dns/cpp/message.h>
Modified: branches/parkinglot/src/bin/parkinglot/builtin_bench.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/builtin_bench.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/builtin_bench.cc Fri Jan 29 09:36:01 2010
@@ -25,6 +25,7 @@
#include <dns/cpp/messagerenderer.h>
#include <dns/cpp/name.h>
#include <dns/cpp/rdata.h>
+#include <dns/cpp/rdataclass.h>
#include <dns/cpp/rrclass.h>
#include <dns/cpp/rrtype.h>
#include <dns/cpp/rrttl.h>
Modified: branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/data_source_plot.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/data_source_plot.cc Fri Jan 29 09:36:01 2010
@@ -1,6 +1,7 @@
#include <boost/foreach.hpp>
+#include <dns/cpp/rdataclass.h>
#include <dns/cpp/rrttl.h>
#include "data_source_plot.h"
Modified: branches/parkinglot/src/lib/dns/cpp/Makefile.am
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/Makefile.am (original)
+++ branches/parkinglot/src/lib/dns/cpp/Makefile.am Fri Jan 29 09:36:01 2010
@@ -1,15 +1,26 @@
AM_CPPFLAGS = -I$(top_srcdir)/ext
CLEANFILES = *.gcno *.gcda
+CLEANFILES += rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc
lib_LTLIBRARIES = libdns.la
libdns_la_SOURCES = buffer.h name.cc name.h messagerenderer.h messagerenderer.cc
-libdns_la_SOURCES += rrparamregistry.h rrparamregistry.cc
-libdns_la_SOURCES += rrclass.h rrclass.cc rrtype.h rrtype.cc rrttl.h rrttl.cc
-libdns_la_SOURCES += rdata.h rdata.cc rrset.h rrset.cc
+libdns_la_SOURCES += rrparamregistry.h
+libdns_la_SOURCES += rrclass.cc rrtype.cc rrttl.h rrttl.cc
+libdns_la_SOURCES += rdata.h rdata.cc
+libdns_la_SOURCES += rdataclass.h rdataclass.cc
+libdns_la_SOURCES += rrset.h rrset.cc
libdns_la_SOURCES += question.h question.cc
libdns_la_SOURCES += message.h message.cc
libdns_la_SOURCES += exceptions.h exceptions.cc
+# auto-generate by gen-rdatacode.py:
+libdns_la_SOURCES += rrclass.h rrtype.h rrparamregistry.cc
+
+rrclass.h: rrclass-placeholder.h
+rrtype.h: rrtype-placeholder.h
+rrparamregistry.cc: rrparamregistry-placeholder.cc
+rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc: Makefile
+ ./gen-rdatacode.py
TESTS =
if HAVE_GTEST
Modified: branches/parkinglot/src/lib/dns/cpp/message_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/message_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/message_unittest.cc Fri Jan 29 09:36:01 2010
@@ -18,6 +18,7 @@
#include "message.h"
#include "messagerenderer.h"
#include "question.h"
+#include "rdataclass.h"
#include "rrclass.h"
#include "rrttl.h"
#include "rrtype.h"
Modified: branches/parkinglot/src/lib/dns/cpp/rdata.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata.cc Fri Jan 29 09:36:01 2010
@@ -143,446 +143,12 @@
}
}
-NS::NS(InputBuffer& buffer, size_t rdata_len) :
- nsname_(buffer)
-{
- // we don't need rdata_len for parsing. if necessary, the caller will
- // check consistency.
-}
-
-NS::NS(const NS& other) :
- nsname_(other.nsname_)
-{}
-
-void
-NS::toWire(OutputBuffer& buffer) const
-{
- nsname_.toWire(buffer);
-}
-
-void
-NS::toWire(MessageRenderer& renderer) const
-{
- renderer.writeName(nsname_);
-}
-
-string
-NS::toText() const
-{
- return (nsname_.toText());
-}
-
-int
-NS::compare(const Rdata& other) const
-{
- const NS& other_ns = dynamic_cast<const NS&>(other);
-
- return (compareNames(nsname_, other_ns.nsname_));
-}
-
-const Name&
-NS::getNSName() const
-{
- return (nsname_);
-}
-
-SOA::SOA(InputBuffer& buffer, size_t rdata_len) :
- mname_(buffer), rname_(buffer)
-{
- // we don't need rdata_len for parsing. if necessary, the caller will
- // check consistency.
- buffer.readData(numdata_, sizeof(numdata_));
-}
-
-SOA::SOA(const std::string& soastr) :
- mname_("."), rname_(".")
-{
- dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-SOA::SOA(const Name& mname, const Name& rname, uint32_t serial,
- uint32_t refresh, uint32_t retry, uint32_t expire, uint32_t minimum) :
- mname_(mname), rname_(rname)
-{
- OutputBuffer b(20);
- b.writeUint32(serial);
- b.writeUint32(refresh);
- b.writeUint32(retry);
- b.writeUint32(expire);
- b.writeUint32(minimum);
- assert(b.getLength() == sizeof(numdata_));
- memcpy(numdata_, b.getData(), sizeof(numdata_));
-}
-
-SOA::SOA(const SOA& other) :
- mname_(other.mname_), rname_(other.rname_)
-{
- memcpy(numdata_, other.numdata_, sizeof(numdata_));
-}
-
-void
-SOA::toWire(OutputBuffer& buffer) const
-{
- mname_.toWire(buffer);
- rname_.toWire(buffer);
- buffer.writeData(numdata_, sizeof(numdata_));
-}
-
-void
-SOA::toWire(MessageRenderer& renderer) const
-{
- renderer.writeName(mname_);
- renderer.writeName(rname_);
- renderer.writeData(numdata_, sizeof(numdata_));
-}
-
-string
-SOA::toText() const
-{
- InputBuffer b(numdata_, sizeof(numdata_));
- uint32_t serial = b.readUint32();
- uint32_t refresh = b.readUint32();
- uint32_t retry = b.readUint32();
- uint32_t expire = b.readUint32();
- uint32_t minimum = b.readUint32();
-
- return (mname_.toText() + " " + rname_.toText() + " " +
- lexical_cast<string>(serial) + " " +
- lexical_cast<string>(refresh) + " " +
- lexical_cast<string>(retry) + " " +
- lexical_cast<string>(expire) + " " +
- lexical_cast<string>(minimum));
-}
-
-int
-SOA::compare(const Rdata& other) const
-{
- const SOA& other_soa = dynamic_cast<const SOA&>(other);
-
- int order = compareNames(mname_, other_soa.mname_);
- if (order != 0) {
- return (order);
- }
-
- order = compareNames(rname_, other_soa.rname_);
- if (order != 0) {
- return (order);
- }
-
- return (memcmp(numdata_, other_soa.numdata_, sizeof(numdata_)));
-}
-
-MX::MX(InputBuffer& buffer, size_t rdata_len) :
- preference_(buffer.readUint16()), mxname_(buffer)
-{
- // we don't need rdata_len for parsing. if necessary, the caller will
- // check consistency.
-}
-
-MX::MX(const std::string& mxstr) :
- preference_(0), mxname_(".")
-{
- dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-MX::MX(uint16_t preference, const Name& mxname) :
- preference_(preference), mxname_(mxname)
-{}
-
-MX::MX(const MX& other) :
- preference_(other.preference_), mxname_(other.mxname_)
-{}
-
-void
-MX::toWire(OutputBuffer& buffer) const
-{
- buffer.writeUint16(preference_);
- mxname_.toWire(buffer);
-}
-
-void
-MX::toWire(MessageRenderer& renderer) const
-{
- renderer.writeUint16(preference_);
- renderer.writeName(mxname_);
-}
-
-string
-MX::toText() const
-{
- return (lexical_cast<string>(preference_) + " " + mxname_.toText());
-}
-
-int
-MX::compare(const Rdata& other) const
-{
- const MX& other_mx = dynamic_cast<const MX&>(other);
-
- if (preference_ < other_mx.preference_) {
- return (-1);
- } else if (preference_ > other_mx.preference_) {
- return (1);
- }
-
- return (compareNames(mxname_, other_mx.mxname_));
-}
-
-TXT::TXT(InputBuffer& buffer, size_t rdata_len)
-{
- uint8_t len;
-
- // TBD: this is a simple, incomplete implementation that only supports
- // a single character-string.
- len = buffer.readUint8();
- vector<uint8_t> data(len + 1);
- data[0] = len;
- buffer.readData(&data[0] + 1, len);
- string_list_.push_back(data);
-}
-
-TXT::TXT(const std::string& txtstr)
-{
- size_t length = txtstr.size();
- size_t pos_begin = 0;
-
- if (length > 1 && txtstr[0] == '"' && txtstr[length - 1] == '"') {
- pos_begin = 1;
- length -= 2;
- }
- if (length > MAX_CHARSTRING_LEN) {
- dns_throw(CharStringTooLong, "");
- }
-
- vector<uint8_t> data;
- data.reserve(length + 1);
- data.push_back(length);
- data.insert(data.end(), txtstr.begin() + pos_begin,
- txtstr.begin() + pos_begin + length);
- string_list_.push_back(data);
-}
-
-TXT::TXT(const TXT& other) :
- string_list_(other.string_list_)
-{}
-
-void
-TXT::toWire(OutputBuffer& buffer) const
-{
- for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
- it != string_list_.end();
- ++it)
- {
- buffer.writeData(&(*it)[0], (*it).size());
- }
-}
-
-void
-TXT::toWire(MessageRenderer& renderer) const
-{
- for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
- it != string_list_.end();
- ++it)
- {
- renderer.writeData(&(*it)[0], (*it).size());
- }
-}
-
-string
-TXT::toText() const
-{
- string s;
-
- // XXX: this implementation is not entirely correct. for example, it
- // should escape double-quotes if they appear in the character string.
- for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
- it != string_list_.end();
- ++it)
- {
- if (!s.empty()) {
- s.push_back(' ');
- }
- s.push_back('"');
- s.insert(s.end(), (*it).begin() + 1, (*it).end());
- s.push_back('"');
- }
-
- return (s);
-}
-
-int
-TXT::compare(const Rdata& other) const
-{
- const TXT& other_txt = dynamic_cast<const TXT&>(other);
-
- // This implementation is not efficient. Revisit this (TBD).
- OutputBuffer this_buffer(0);
- toWire(this_buffer);
- size_t this_len = this_buffer.getLength();
-
- OutputBuffer other_buffer(0);
- other_txt.toWire(other_buffer);
- size_t other_len = other_buffer.getLength();
-
- size_t cmplen = min(this_len, other_len);
- int cmp = memcmp(this_buffer.getData(), other_buffer.getData(), cmplen);
- if (cmp != 0) {
- return (cmp);
- } else {
- return ((this_len == other_len) ? 0 :
- (this_len < other_len) ? -1 : 1);
- }
-}
} // end of namespace generic
namespace in {
-A::A(const string& addrstr)
-{
- // RFC1035 states textual representation of IN/A RDATA is
- // "four decimal numbers separated by dots without any embedded spaces".
- // This is exactly what inet_pton() accepts for AF_INET. In particular,
- // it rejects an abbreviated form such as "10.1" meaning "10.0.0.1".
- if (inet_pton(AF_INET, addrstr.c_str(), &addr_) != 1) {
- dns_throw(InvalidRdataText,
- "failed to parse IPv4 address for IN/A RDATA");
- }
-}
-
-A::A(InputBuffer& buffer, size_t rdata_len)
-{
- if (rdata_len != sizeof(addr_)) {
- dns_throw(InvalidRdataLength, "Length mismatch for IN/A RDATA");
- }
- buffer.readData(&addr_, sizeof(addr_));
-}
-
-A::A(const A& other) :
- addr_(other.addr_)
-{}
-
-void
-A::toWire(OutputBuffer& buffer) const
-{
- buffer.writeData(&addr_, sizeof(addr_));
-}
-
-void
-A::toWire(MessageRenderer& renderer) const
-{
- renderer.writeData(&addr_, sizeof(addr_));
-}
-
-string
-A::toText() const
-{
- char addr_string[sizeof("255.255.255.255")];
-
- if (inet_ntop(AF_INET, &addr_, addr_string, sizeof(addr_string)) == NULL) {
- dns_throw(Unexpected, "inet_ntop failed for an IPv4 address");
- }
-
- return (string(addr_string));
-}
-
-int
-A::compare(const Rdata& other) const
-{
- const A& other_a = dynamic_cast<const A&>(other);
- return (memcmp(&addr_, &other_a.addr_, sizeof(addr_)));
-}
-
-AAAA::AAAA(const string& addrstr)
-{
- if (inet_pton(AF_INET6, addrstr.c_str(), &addr_) != 1) {
- dns_throw(InvalidRdataText,
- "failed to parse IPv6 address for IN/AAAA RDATA");
- }
-}
-
-AAAA::AAAA(InputBuffer& buffer, size_t rdata_len)
-{
- if (rdata_len != sizeof(addr_)) {
- dns_throw(InvalidRdataLength, "Length mismatch for IN/AAAA RDATA");
- }
- buffer.readData(&addr_, sizeof(addr_));
-}
-
-AAAA::AAAA(const AAAA& other)
-{
- memcpy(addr_, other.addr_, sizeof(addr_));
-}
-
-void
-AAAA::toWire(OutputBuffer& buffer) const
-{
- buffer.writeData(&addr_, sizeof(addr_));
-}
-
-void
-AAAA::toWire(MessageRenderer& renderer) const
-{
- renderer.writeData(&addr_, sizeof(addr_));
-}
-
-string
-AAAA::toText() const
-{
- char addr_string[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
-
- if (inet_ntop(AF_INET6, &addr_, addr_string, sizeof(addr_string)) == NULL) {
- dns_throw(Unexpected, "inet_ntop failed for an IPv6 address");
- }
-
- return (string(addr_string));
-}
-
-int
-AAAA::compare(const Rdata& other) const
-{
- const AAAA& other_a = dynamic_cast<const AAAA&>(other);
- return (memcmp(&addr_, &other_a.addr_, sizeof(addr_)));
-}
} // end of namespace in
namespace ch {
-A::A(const string& addrstr)
-{
- // TBD
-}
-
-A::A(InputBuffer& buffer, size_t rdata_len)
-{
- // TBD
-}
-
-A::A(const A& source)
-{
- // TBD
-}
-
-void
-A::toWire(OutputBuffer& buffer) const
-{
- // TBD
-}
-
-void
-A::toWire(MessageRenderer& renderer) const
-{
- // TBD
-}
-
-string
-A::toText() const
-{
- // TBD
- dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-int
-A::compare(const Rdata& other) const
-{
- return (0); // dummy. TBD
-}
} // end of namespace ch
} // end of namespace rdata
}
Modified: branches/parkinglot/src/lib/dns/cpp/rdata.h
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata.h (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata.h Fri Jan 29 09:36:01 2010
@@ -133,135 +133,7 @@
private:
std::vector<uint8_t> data_;
};
-
-class NS : public Rdata {
-public:
- explicit NS(const std::string& namestr) : nsname_(namestr) {}
- explicit NS(InputBuffer& buffer, size_t rdata_len);
- NS(const NS& other);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& buffer) const;
- virtual int compare(const Rdata& other) const;
- ///
- /// Specialized constructorx
- ///
- explicit NS(const Name& nsname) : nsname_(nsname) {}
- ///
- /// Specialized methods
- ///
- const Name& getNSName() const;
-private:
- Name nsname_;
-};
-
-class SOA : public Rdata {
-public:
- explicit SOA(const std::string& soastr);
- explicit SOA(InputBuffer& buffer, size_t rdata_len);
- explicit SOA(const Name& mname, const Name& rname, uint32_t serial,
- uint32_t refresh, uint32_t retry, uint32_t expire,
- uint32_t minimum);
- SOA(const SOA& other);
- virtual ~SOA() {}
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& buffer) const;
- virtual int compare(const Rdata& other) const;
-private:
- /// Note: this is a prototype version; we may reconsider
- /// this representation later.
- Name mname_;
- Name rname_;
- /// serial, refresh, retry, expire, minimum, stored in network byte order
- uint8_t numdata_[20];
-};
-
-class MX : public Rdata {
-public:
- explicit MX(const std::string& mxstr);
- explicit MX(InputBuffer& buffer, size_t rdata_len);
- explicit MX(uint16_t preference, const Name& mxname);
- MX(const MX& other);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& buffer) const;
- virtual int compare(const Rdata& other) const;
-private:
- /// Note: this is a prototype version; we may reconsider
- /// this representation later.
- uint16_t preference_;
- Name mxname_;
-};
-
-class TXT : public Rdata {
-public:
- explicit TXT(const std::string& txtstr);
- explicit TXT(InputBuffer& buffer, size_t rdata_len);
- TXT(const TXT& other);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& buffer) const;
- virtual int compare(const Rdata& other) const;
-private:
- /// Note: this is a prototype version; we may reconsider
- /// this representation later.
- static const unsigned int MAX_CHARSTRING_LEN = 255;
- std::vector<std::vector<uint8_t> > string_list_;
-};
} // end of namespace "generic"
-
-namespace in {
-class A : public Rdata {
-public:
- /// \brief Constructor from a textual IPv4 address.
- explicit A(const std::string& addrstr);
- explicit A(InputBuffer& buffer, size_t rdata_len);
- A(const A& ohter);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& renderer) const;
- virtual int compare(const Rdata& other) const;
- //We can use the default destructor.
- //virtual ~A() {}
- // notyet:
- //const struct in_addr& getAddress() const { return (addr_); }
-private:
- uint32_t addr_; // raw IPv4 address (network byte order)
-};
-
-class AAAA : public Rdata {
-public:
- /// \brief Constructor from a textual IPv6 address.
- explicit AAAA(const std::string& addrstr);
- explicit AAAA(InputBuffer& buffer, size_t rdata_len);
- AAAA(const AAAA& ohter);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& renderer) const;
- virtual int compare(const Rdata& other) const;
- //We can use the default destructor.
- //virtual ~AAAA() {}
- // notyet:
- //const struct in6_addr& getAddress() const { return (addr_); }
-private:
- uint8_t addr_[16]; // raw IPv6 address (network byte order)
-};
-} // end of namespace "in"
-
-namespace ch {
-class A : public Rdata {
-public:
- explicit A(const std::string& addrstr);
- explicit A(InputBuffer& buffer, size_t rdata_len);
- A(const A& ohter);
- virtual std::string toText() const;
- virtual void toWire(OutputBuffer& buffer) const;
- virtual void toWire(MessageRenderer& renderer) const;
- virtual int compare(const Rdata& other) const;
-private:
-};
-} // end of namespace "ch"
///
/// Non class-member functions related to Rdata
Modified: branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc Fri Jan 29 09:36:01 2010
@@ -19,6 +19,7 @@
#include "buffer.h"
#include "messagerenderer.h"
#include "rdata.h"
+#include "rdataclass.h"
#include "rrclass.h"
#include "rrtype.h"
Modified: branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc Fri Jan 29 09:36:01 2010
@@ -18,6 +18,7 @@
#include "messagerenderer.h"
#include "name.h"
#include "rdata.h"
+#include "rdataclass.h"
#include "rrclass.h"
#include "rrtype.h"
#include "rrttl.h"
More information about the bind10-changes
mailing list