BIND 10 #2091: use encoded name data in RBNode

BIND 10 Development do-not-reply at isc.org
Mon Jul 23 13:55:45 UTC 2012


#2091: use encoded name data in RBNode
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:         |  Sprint-20120731
  medium                             |            Resolution:
                  Component:  data   |             Sensitive:  0
  source                             |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  5
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
  scalable inmemory                  |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => jinmei


Comment:

 First of, the thing does not compile for me:
 {{{
 labelsequence_unittest.cc: In member function ‘virtual void
 {anonymous}::LabelSequenceTest_serialize_Test::TestBody()’:
 labelsequence_unittest.cc:705:5: error: duplicate ‘const’
 labelsequence_unittest.cc:715:5: error: duplicate ‘const’
 labelsequence_unittest.cc:726:5: error: duplicate ‘const’
 labelsequence_unittest.cc:733:5: error: duplicate ‘const’
 labelsequence_unittest.cc:740:5: error: duplicate ‘const’
 labelsequence_unittest.cc: In member function ‘virtual void
 {anonymous}::LabelSequenceTest_badDeserialize_Test::TestBody()’:
 labelsequence_unittest.cc:768:5: error: duplicate ‘const’
 labelsequence_unittest.cc:770:5: error: duplicate ‘const’
 labelsequence_unittest.cc:774:5: error: duplicate ‘const’
 labelsequence_unittest.cc:778:5: error: duplicate ‘const’
 labelsequence_unittest.cc:784:5: error: duplicate ‘const’
 make[7]: *** [run_unittests-labelsequence_unittest.o] Error 1
 }}}

 Also, in documentation, should non-absolute be relative?

 However, I have most comments to the first two commits, with the memory
 segments.

 Because of the assert in the deallocator, I believe it is not possible to
 share a memory segment for multiple trees ‒ the one that'll be destroyed
 first will not have cleaned up all the memory, because some belongs to the
 other. Is it desired? If so, should it be at least documented?

 Also, the interface, where you pass the memory segment to many functions
 (insert, destroy), but it must be the same memory segment, that sounds
 like a very fragile interface. Would it be possible to somehow change
 that? I guess it is not the best thing to keep a reference inside, because
 then when it gets shared between applications, it is a problem. Or maybe
 it is not, since only one application would do the modifications and the
 others wouldn't need the reference.

 And, what happens if you have two trees with different memory segments and
 swap them?

-- 
Ticket URL: <http://bind10.isc.org/ticket/2091#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list