BIND 10 #3002: extend datasrc::(Configurable)ClientList::find to return data source name

BIND 10 Development do-not-reply at isc.org
Wed Jun 12 20:33:44 UTC 2013


#3002: extend datasrc::(Configurable)ClientList::find to return data source name
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:
  jinmei                             |                Status:  new
                       Type:  task   |             Milestone:  New Tasks
                   Priority:         |              Keywords:
  medium                             |             Sensitive:  0
                  Component:  data   |           Sub-Project:  DNS
  source                             |  Estimated Difficulty:  0
               CVSS Scoring:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
  shared memory data source          |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 This will be needed for the shared memory support, so it's a subtask
 of #2830.

 For xfrin and ddns to tell memmgr to reload the updated zone,
 they need to specify the corresponding data source name.
 We currently don't have an interface to make it possible and need to
 extend the API.

 My suggestion is to revise `ConfigurableClientList::find()` so it can
 optionally return the data source name:
 {{{#!cpp
     virtual FindResult find(const dns::Name& zone,
                             bool want_exact_match = false,
                             bool want_finder = true,
                             bool want_datasrc_name = false) const;
 }}}

 And also revise the `FindResult` structure in the obvious way.
 If `want_datasrc_name` is true, the find() method will copy
 the data source name to `FindResult`; if it's false it will probably
 be an empty string.

 We also need a Python wrapper (actually we'll only need the Python
 wrapper for the feature).

 And, as usual, there'll be a confusion of whether this should be a
 virtual method and be implemented in the base `ClientList` class.
 Technically, the answer is yes because C++ applications are expected
 to use the `ClientList` interface only.

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


More information about the bind10-tickets mailing list