BIND 10 #2107: redefine in-memory zone data
BIND 10 Development
do-not-reply at isc.org
Sat Jun 30 08:48:08 UTC 2012
#2107: redefine in-memory zone data
-------------------------------------+-------------------------------------
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 | scalable inmemory
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
We'll need a memory encoded form of zone data. My suggestion
is to revise the current `ZoneData` structure so that it will be
simpler data-only structure, and allocated/deallocated using
static method and a memory segment, e.g.:
{{{#!cpp
template <typename TreeType, typename TreeNodeType>
struct ZoneData {
static ZoneData* allocate(MemorySegment& segment, RRClass zone_class,;
const Name& zone_name);
static void deallocate(MemorySegment& segment);
// These will be initialized on allocation and won't change
const RRClass zone_class;
// some other attributes
offset_ptr<TreeType> const tree;
offset_ptr<TreeNodeType> const origin_node;
const RBTree& getNSEC3Tree() const; // for ZoneFinder
RBTree& getNSEC3Tree(); // for ZoneUpdater/loader
private:
offset_ptr<TreeType> nsec3_tree_; // build this on-demand
};
This is essentially a private structure for other implementation
details of in-memory data source client (finder/updater, etc), which
will use the member variables directly.
--
Ticket URL: <http://bind10.isc.org/ticket/2107>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list