BIND 10 #2470: use MasterLoader in memory::ZoneDataLoader
BIND 10 Development
do-not-reply at isc.org
Thu Nov 8 23:48:22 UTC 2012
#2470: use MasterLoader in memory::ZoneDataLoader
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: task | Status: new
Priority: medium | Milestone: Next-
Component: data source | Sprint-Proposed
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | loadzone-ng
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Subtask of #2368 (another overlooked one).
Depend on #2376 and #2377.
We cannot directly use the `ZoneUpdater` interface for loading zone in
memory because of the internal differences (besides, the zone updater
isn't implemented in in-memory anyway).
So we need to do:
- define a separate derived class of `MasterLoaderContextBase` for
in-memory. its constructor would take `ZoneDataLoader` (defined in
memory/zone_data_loader.cc), and its `addRRset` would call
`ZoneDataLoader::addFromLoad()`:
{{{#!cpp
class LoaderContext : public isc::dns::MasterLoaderContextBase {
LoaderContext(ZoneDataLoader& zone_data_loader) :
zone_data_loader_(zone_data_loader) {}
virtual void addRrset(const RRsetPtr& rrset) {
zone_data_loader_.addFromLoad(rrset);
}
};
}}}
- update zone_data_loader.cc so that it uses `MasterLoader` and the
`LoaderContext` introduced in the first step, instead of the
`masterLoad` function.
--
Ticket URL: <http://bind10.isc.org/ticket/2470>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list