BIND 10 #2090: use offset_ptr in RBNode
BIND 10 Development
do-not-reply at isc.org
Fri Jun 29 08:50:20 UTC 2012
#2090: use offset_ptr in RBNode
-------------------------------------+-------------------------------------
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 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
- change the data type to offset_ptr
- define RBNode<T>::allocate/deallocate. They take MemorySegment
and call its allocate/deallocate for memory management.
Then use placement new to construct the node (note: technically,
this could be tricky to make it exception safe, but we'll soon
revise it so the constructor will be exception free. so I
suggest we ignore it in this intermediate version). the actual
node new/delete code should be replaced with these.
- define getLeft()/getRight()/getDown()/getParent(), which return
bare pointers instead of offset_ptr.
- use getXXX at least in find() (as it's performance sensitive).
maybe also in successor()/predecessor()
Depends on #2088
--
Ticket URL: <http://bind10.isc.org/ticket/2090>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list