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