BIND 10 #2208: Revise InMemoryClient and ConfigurableClientList::configure() using ZoneTableSegment

BIND 10 Development do-not-reply at isc.org
Mon Oct 22 02:06:51 UTC 2012


#2208: Revise InMemoryClient and ConfigurableClientList::configure() using
ZoneTableSegment
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jelte
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:         |  Sprint-20121023
  medium                             |            Resolution:
                  Component:  data   |             Sensitive:  0
  source                             |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  5
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
  background zone loading            |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by muks):

 * owner:  muks => jelte


Comment:

 Hi Jelte

 Replying to [comment:6 jelte]:
 > Could you please provide a few hints for the reviewer next time? For
 instance, why is RRClass now a member of ZoneTable instead of passing it
 from the client like before?

 Ouch, that commit log message is inadequate. Basically, `RRClass` has to
 be a property of `ZoneTable`, which is used by it during its destruction.
 We do the pass-by-caller trick to avoid bloating some objects, but it
 doesn't apply to `ZoneTable` as there aren't many of them. In this branch,
 this change was introduced as otherwise, other classes such as
 `ZoneTableSegment` would have to manage the `RRClass` (and such code
 doesn't belong there).

 > Isn't that hardcoded RRClass::IN() going to present a problem (given
 that the 'static' datasource also uses in-memory)?

 I am assuming you mean the hardcoding inside `ZoneTableSegment`'s factory
 method. We have to decide upon config syntax for it. The factory would
 construct the appropriate `ZoneTableSegment` based on the passed memory
 model, RRClass, etc. in config.

 Also, currently the static datasrc doesn't use the new in-memory code. But
 we have to address this issue when we decide upon config.

 > I think it would be a bit more clean to consistently call arguments and
 members ztable_segment (a few of them are now named the more general
 'segment' in client_list)

 Done. :)

 > on a smaller note, you have a number of cases where you use
 *somesharedptr.get() which can be written with just *somesharedptr (at
 least in client_list.cc:96 and client_list_unittest.cc:260), but maybe
 more

 Done. :)

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


More information about the bind10-tickets mailing list