BIND 10 #2907: add ConfigurableClientList::getZoneTableAccessor method

BIND 10 Development do-not-reply at isc.org
Thu May 23 16:26:57 UTC 2013


#2907: add ConfigurableClientList::getZoneTableAccessor method
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |  pselkirk
            Priority:  medium        |                       Status:
           Component:  data source   |  accepted
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130528
         Sub-Project:  DNS           |                   Resolution:
Estimated Difficulty:  3             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |  shared memory data source
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:7 pselkirk]:
 > I have to admit I'm stuck here.

 Sorry for not having made it clearer.

 > 1) ConfigurableClientList says:
 > {{{
 > /// This is the implementation which is expected to be used in the
 servers.
 > /// However, it is expected most of the code will use it as the
 ClientList,
 > /// only the creation is expected to be direct.
 > }}}
 >
 > But if getZoneTableAccessor is only in ConfigurableClientList, then
 either this comment should change, or we should add getZoneTableAccessor
 as an abstract method to ClientList.

 Yes.

 > 2) getZoneTableAccessor is supposed to create a ZoneTableAccessor
 object, but ZoneTableAccessor is an abstract class, so we can't
 instantiate it; we have to instantiate a concrete derived class, of which
 we've only defined ZoneTableAccessorCache.

 Right, so the intent was to instantiate `ZoneTableAccessorCache` if
 `use_cache` is true.  (And, for other cases we'd simply return
 `NotImplemented` exception or something for now - we don't need it in
 these cases yet).

 > 3) ZoneTableAccessorCache is constructed with a CacheConfig reference,
 but ConfigurableClientList is configured (not constructed) with a
 ConstElementPtr reference.

 You should be able to access the corresponding `CacheConfig` as
 `data_sources_[x].getCacheConfig()`.  See, e.g.,
 `ConfigurableClientList::getCachedZoneWriter()`.

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


More information about the bind10-tickets mailing list