BIND 10 #1607: define ZoneFinder::findAdditional() and implement its default version

BIND 10 Development do-not-reply at isc.org
Mon Mar 5 13:17:52 UTC 2012


#1607: define ZoneFinder::findAdditional() and implement its default version
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:  major  |  Sprint-20120306
                  Component:         |            Resolution:
  b10-auth                           |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  4
Feature Depending on Ticket:  auth   |           Total Hours:  0
  performance                        |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => jinmei


Comment:

 I'm thinking, if we're returning such a complicated result already, do we
 need a special interface for findAll? Wouldn't it be better to just have
 the context be able to fill all the results into a target passed to it, no
 matter if there's one or many? The context already has a copy of the
 vector for the findAll case anyway and it could simplify processing both
 inside the context and outside.

 Another thing, maybe we want to have a abstract base class that contains
 no data members like the vector for the all thing. I could imagine the in-
 memory remembering the node only and iterating that one when needed,
 instead of copying it out to a vector to iterate later.

 The python interface is not changed. Is it planned to any other ticket?
 Because it would not be possible to call the getAdditional, etc, from
 python right now.

 Also, could a test check that the vector passed to getAdditional is not
 cleaned by it, that is, the data are just appended? I think all tests are
 done with empty vector now.

 I noticed an indentation problem here:
 {{{#!diff
 @@ -821,17 +826,17 @@ DatabaseClient::Finder::findNoNameResult(const Name&
 name, const RRType& type,
              arg(accessor_->getDBName()).arg(name);
          const ConstRRsetPtr nsec = dnssec_data ? findNSECCover(name) :
              ConstRRsetPtr();
 -        return (FindResult(NXRRSET, nsec,
 -                           nsec ? RESULT_NSEC_SIGNED : RESULT_DEFAULT));
 +        return (ResultContext(NXRRSET, nsec,
 +                        nsec ? RESULT_NSEC_SIGNED : RESULT_DEFAULT));
      } else if ((options & NO_WILDCARD) == 0) {
 }}}

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


More information about the bind10-tickets mailing list