BIND 10 #2376: define LoaderContext class

BIND 10 Development do-not-reply at isc.org
Fri Oct 19 06:59:36 UTC 2012


#2376: define LoaderContext class
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  medium        |                    Milestone:  New
           Component:  data source   |  Tasks
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |  scalable inmemory
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 subtask of #2368.  no dependency.

 This is basically to implement the `dns::LoaderContext` base class
 and its derived version in datasrc mostly as described in
 http://bind10.isc.org/wiki/ZoneLoadingAPIDesign
 with some simple tests to check the behavior.

 But I propose defining callbacks as a separate struct so we can use it
 independently (thinking about passing it to rdata factories).

 The key part would like this.

 {{{#!cpp
 class dns::MasterLoader {
     // other part of this class isn't defined yet.
     struct Callbacks {
         boost::function<void(const string& error_msg) error;
         boost::function<void(const string& error_msg) warn;
     };
 };

 class MasterLoaderContextBase {
 public:
     virtual void add(RRsetPtr rrset) = 0;
     virtual MasterLoader::Callbacks& getCallbacks() const = 0;
 };

 class datasrc::LoaderContext : dns::MasterLoaderContextBase {
     // define it.
 };
 }}}

-- 
Ticket URL: <http://bind10.isc.org/ticket/2376>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list