BIND 10 #2203: separate CC Session from auth DataSourceConfigurator

BIND 10 Development do-not-reply at isc.org
Thu Oct 4 00:48:31 UTC 2012


#2203: separate CC Session from auth DataSourceConfigurator
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  accepted
                       Type:  task   |             Milestone:
                   Priority:         |  Sprint-20121009
  medium                             |            Resolution:
                  Component:         |             Sensitive:  0
  b10-auth                           |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  5
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
  background zone loading            |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 trac2203 is ready for review.

 After a series of refactoring, `DataSourceConfigurator::reconfigure()`
 resulted in a totally stateless, stand-alone method.  So I decided to
 make it a free function and remove the `DataSourceConfigurator` class
 completely.  I believe it'll be a more friendly interface when we do
 the successor ticket, #2204 (where this class/function will even be
 independent from `AuthSrv` object).

 Essentially, what this branch does is to move the static session and
 server from the `DataSourceConfigurator` (or the new free function),
 and move the content of the reconfigure() method to the new
 `configureDataSourceGeneric()` function.  configuration callback is
 now handled within the main() function.  Other changes are basically
 straightforward interface adjustment except for "initialization" and
 "cleanup" test.  Since the configurator itself is now stateless, it
 doesn't have the concept of init or cleanup.  So these tests are
 mostly cleaned up.

 One possibly controversial change is commit 4fa694d.  I changed the
 callback type for remote modules from bare function pointer to
 boost::function so we can easily pass extra parameter or using it with
 a pair of ojbect and its method.  We could complete this branch
 without this extension, but this change will make the other part of
 this branch simpler and (IMO) more readable.  And, since
 boost::function is basically upper compatible with function pointers,
 we don't have to change the rest of the code.

 Finally, I addressed the issue of #2291 at commit c91bffd.  I believe,
 with the extended callback, it's now less error prone than I
 originally tried in #2219.  But if this change looks too irrelevant or
 is still too dirty, I'm fine with excluding this particular piggy
 back.

 I don't see the need for a separate changelog for this ticket.

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


More information about the bind10-tickets mailing list