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

BIND 10 Development do-not-reply at isc.org
Wed Jan 2 19:37:51 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
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:20 muks]:

 > > 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. :)

 Actually, I'd be more concerned about whether it's okay for the caller
 to modify the rrset after calling `addRRset`.

 And another thing:
 {{{#!cpp
     /// \brief Remove an RRset from the collection.
     ///
     /// RRset(s) matching the \c name, \c rrclass and \c rrtype are
     /// removed from the collection.
     void removeRRset(const isc::dns::Name& name,
                      const isc::dns::RRClass& rrclass,
                      const isc::dns::RRType& rrtype);
 }}}
 what if the specified RRset doesn't exist in the collection?  At the
 very least we should document it, and, personally, I prefer notifying
 the caller as an error in some way (either via a return value or by
 throwing an exception), not just ignore it.

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


More information about the bind10-tickets mailing list