Commit cce105f4 authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[trac565] Reorder the config_handler for readability

The closures are moved to the top of the function and commented. It'll
hopefully be more readable this way.
parent e5961a4c
......@@ -232,9 +232,9 @@ class BoB:
# If this is initial update, don't do anything now, leave it to startup
if not self.runnable:
return
if self.verbose:
sys.stdout.write("[bind10] Handling new configuration: " +
str(new_config) + "\n")
# Now we declare few functions used only internally here. Besides the
# benefit of not polluting the name space, they are closures, so we
# don't need to pass some variables
def start_stop(name, started, start, stop):
if not'start_' + name in new_config:
return
......@@ -246,14 +246,14 @@ class BoB:
start()
else:
stop()
# These four functions are passed to start_stop (smells like functional
# programming little bit)
def resolver_on():
self.start_resolver(self.c_channel_env)
self.started_resolver_family = True
def resolver_off():
self.stop_resolver()
self.started_resolver_family = False
start_stop('resolver', self.started_resolver_family, resolver_on,
resolver_off)
def auth_on():
self.start_auth(self.c_channel_env)
self.start_xfrout(self.c_channel_env)
......@@ -266,11 +266,17 @@ class BoB:
self.stop_xfrout()
self.stop_auth()
self.started_auth_family = False
# The real code of the config handler function follows here
if self.verbose:
sys.stdout.write("[bind10] Handling new configuration: " +
str(new_config) + "\n")
start_stop('resolver', self.started_resolver_family, resolver_on,
resolver_off)
start_stop('auth', self.started_auth_family, auth_on, auth_off)
answer = isc.config.ccsession.create_answer(0)
return answer
# TODO
def command_handler(self, command, args):
if self.verbose:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment