BIND 10 #2432: define and implement base and libdns++ version of RRsetCollection

BIND 10 Development do-not-reply at isc.org
Tue Jan 1 11:31:30 UTC 2013


#2432: define and implement base and libdns++ version of RRsetCollection
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |  vorner
            Priority:  medium        |                       Status:
           Component:  libdns++      |  reviewing
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130108
         Sub-Project:  DNS           |                   Resolution:
Estimated Difficulty:  5             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |  loadzone-ng
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by muks):

 * owner:  muks => vorner


Comment:

 Hi Jinmei

 Replying to [comment:15 jinmei]:
 > Please cherry-pick 823f41b on the trac2433 branch.  The original
 > version doesn't compile for my environment (see commit log - this type
 > of portability issues sometimes happen).

 Done.

 Replying to [comment:16 jinmei]:
 > While working on #2433 I've noticed a few things (incorrectly
 > updated #2433 with those comments, now copying them to the correct
 > ticket...)
 >
 > - please add rrset_collection(,_base).h to libdns___include_HEADERS in
 Makefile.am.

 Done.

 > - in RRsetCollectionBase, protected things should generally be
 documented sufficiently detailed so that derived class implementor can
 implement their version from the documentation.

 Done.

 > - Also for iterator. And, btw, per naming convention it should be named
 something like Iterator.

 Documentation added. For renaming to `Iterator`, it seems that for
 collections with `std::iterator`s, the preferred naming is
 `CollectionType::iterator` which is why it was named such. If you still
 think this should be changed to `Iterator`, please tell me and I'll update
 it.

 > - I'd like to suggest defining another version of constructor that takes
 istream. That would be useful for tests (and probably for some other
 general cases).

 Done.

 > - I'd explain what kind of collection is constructed by the default
 constructor.

 I did not understand this.

 > - we need to define a virtual destructor in the base class.

 Done.

 Replying to [comment:18 jinmei]:
 > And yet another...I'd explain the ownership of the passed rrset after
 > the call:
 > {{{#!cpp
 >     /// \brief Add an RRset to the collection.
 >     ///
 >     /// Does not do any validation whether \c rrset belongs to a
 >     /// particular zone or not. It throws an \c isc::InvalidParameter
 >     /// exception if an rrset with the same class, type and name already
 >     /// exists.
 >     void addRRset(isc::dns::RRsetPtr rrset);
 > }}}

 Done. :)

-- 
Ticket URL: <http://bind10.isc.org/ticket/2432#comment:20>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list