BIND 10 #374: Writable datasources: Basic support for writables in C++ datasrc library

BIND 10 Development do-not-reply at isc.org
Fri Oct 22 08:22:08 UTC 2010


#374: Writable datasources: Basic support for writables in C++ datasrc library
------------------------------+---------------------------------------------
      Reporter:  jelte        |        Owner:  UnAssigned
          Type:  enhancement  |       Status:  reviewing 
      Priority:  major        |    Milestone:            
     Component:  data source  |   Resolution:            
      Keywords:               |    Sensitive:  0         
Estimatedhours:  0.0          |        Hours:  0         
      Billable:  1            |   Totalhours:  0         
      Internal:  0            |  
------------------------------+---------------------------------------------
Changes (by jelte):

  * owner:  jelte => UnAssigned
  * status:  new => reviewing


Comment:

 Changes can be found by diffing r3257 to r3309 in branches/trac374
 Alternatively, you can do
 {{{
 svn merge --reintegrate
 svn+ssh://bind10.isc.org/svn/bind10/branches/trac374
 }}}
 It should still merge cleanly.

 Notes for review:

 Since this is only the c++ part, and our XFR and loadzone functionality
 (i.e. the external interfaces to actually use this), actual data source
 changes are only done in the unit tests (i.e. you can't actually play with
 your own zones in this branch). See the upcoming branches for #375 and
 #376 for that.

 I'd start out reading the (added) documentation in data_source.h,
 specifically the DataSrcTransaction class (which is a general data
 placeholder for whatever any specific datasource implementation needs to
 perform transactions, and makes sure the transaction is finished later).

 The design of the interface is generally based on the existing datasource
 one, so there's low-level functions that must be overridden (addRRset
 etc.), and high-level ones that work on DNS Message objects, that could be
 overridden but don't have to be. We might find that these need to be moved
 up out of the Data Source API, but for now I decided to keep them there,
 to keep it close to the query logic.

 One 'open' issue is that most of the current code works extensively with
 return codes, and not so much with exceptions. Especially in functions
 like doIXFR this means a lot of if (success) statements. This may need to
 be reconsidered.

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


More information about the bind10-tickets mailing list