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