BIND 10 #502: Iterate over RRs

BIND 10 Development do-not-reply at isc.org
Fri Jan 21 18:24:59 UTC 2011


#502: Iterate over RRs
-------------------------------------+-------------------------------------
                 Reporter:  stephen  |                Owner:  zzchen_pku
                     Type:           |               Status:  reviewing
  enhancement                        |            Milestone:  A-Team-
                 Priority:  major    |  Sprint-20110126
                Component:           |           Resolution:
  b10-auth                           |            Sensitive:  0
                 Keywords:           |  Add Hours to Ticket:  0
Estimated Number of Hours:  3.0      |          Total Hours:  0
                Billable?:  1        |
                Internal?:  0        |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => zzchen_pku


Comment:

 The code itself looks clean. But I think the design itself have two
 serious
 problems, one of them actually preventing it from being used from the
 query
 logic.

 One is, while answering the ANY query, the tree is searched twice, while
 we
 need only one node. Searching the tree is an expensive operation and we
 shouldn't do it unless necessary.

 Second, MemoryZone is subclass of abstract Zone and we use it as Zone, not
 MemoryZone. Therefore you would need to add the findAny method as virtual
 into
 Zone as well. And then, you would require that each datasource implements
 it
 the same way.

 May I suggest that some kind of iterator is put into the FindResult and
 can be
 used to access the data from single node? Or, we might as well return
 shared
 pointer to the FindResult, then it can be subclassed and it can have a
 virtual
 function to actually fill the RRsets somewhere?

-- 
Ticket URL: <https://bind10.isc.org/ticket/502#comment:5>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list