[svn] commit: r156 - in /branches/f2f200910/src/lib: bind-cfgd/python/bind-cfgd.py cc/python/ISC/CC/session.py cc/ruby/lib/cc/session.rb
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Oct 29 00:21:17 UTC 2009
Author: jelte
Date: Thu Oct 29 00:21:17 2009
New Revision: 156
Log:
more verbose manager
fixed naming in session.py (and switched result values)
Modified:
branches/f2f200910/src/lib/bind-cfgd/python/bind-cfgd.py
branches/f2f200910/src/lib/cc/python/ISC/CC/session.py
branches/f2f200910/src/lib/cc/ruby/lib/cc/session.rb
Modified: branches/f2f200910/src/lib/bind-cfgd/python/bind-cfgd.py
==============================================================================
--- branches/f2f200910/src/lib/bind-cfgd/python/bind-cfgd.py (original)
+++ branches/f2f200910/src/lib/bind-cfgd/python/bind-cfgd.py Thu Oct 29 00:21:17 2009
@@ -17,7 +17,17 @@
self.config = ConfigData()
def notify_boss(self):
- self.cc.group_sendmsg({"Running": "ConfigManager"}, "Boss")
+ self.cc.group_sendmsg({"running": "configmanager"}, "Boss")
+
+ def add_zone(self, zone_name):
+ self.config.add_zone(zone_name, "todo")
+ print "sending update zone add"
+ self.cc.group_sendmsg({"zone_added": zone_name }, "ParkingLot")
+
+ def remove_zone(self, zone_name):
+ self.config.remove_zone(zone_name)
+ print "sending update zone del"
+ self.cc.group_sendmsg({"zone_deleted": zone_name }, "ParkingLot")
def read_config(self, filename):
pass
@@ -25,11 +35,41 @@
def write_config(self, filename):
pass
+ def handle_msg(self, msg):
+ """return answer message"""
+ answer = {}
+ try:
+ cmd = msg["command"]
+ if cmd:
+ if cmd[0] == "zone" and cmd[1] == "add":
+ self.add_zone(cmd[2])
+ answer["result"] = [ 0 ]
+ elif cmd[0] == "zone" and cmd[1] == "del":
+ self.remove_zone(cmd[2])
+ answer["result"] = [ 0 ]
+ elif cmd[o] == "zone" and cmd[1] == "list":
+ answer["result"] = self.zones.keys()
+ else:
+ print "unknown command: " + cmd
+ answer["result"] = [ 1, "Unknown command: " + cmd ]
+ except KeyError, ke:
+ print "unknown module: " + str(msg)
+ answer["result"] = [ 1, "Unknown module: " + str(msg) ]
+ except IndexError, ie:
+ print "missing argument"
+ answer["result"] = [ 1, "Missing argument in command" ]
+ return answer
+
def run(self):
while (True):
- env, msg = self.cc.group_recvmsg(False)
- print "message: "
+ msg, env = self.cc.group_recvmsg(False)
+ print "received message: "
print msg
+ answer = self.handle_msg(msg);
+ print "sending answer: "
+ print answer
+ self.cc.group_reply(env, answer)
+ print "answer sent"
pass
if __name__ == "__main__":
Modified: branches/f2f200910/src/lib/cc/python/ISC/CC/session.py
==============================================================================
--- branches/f2f200910/src/lib/cc/python/ISC/CC/session.py (original)
+++ branches/f2f200910/src/lib/cc/python/ISC/CC/session.py Thu Oct 29 00:21:17 2009
@@ -131,11 +131,11 @@
return seq
def group_recvmsg(self, nonblock = True):
- msg = self.recvmsg(nonblock)
- if msg == None:
+ env = self.recvmsg(nonblock)
+ if env == None:
return None
- data = Message.from_wire(msg["msg"])
- return (data, msg)
+ msg = Message.from_wire(env["msg"])
+ return (msg, env)
def group_reply(self, routing, msg):
seq = self._next_sequence()
Modified: branches/f2f200910/src/lib/cc/ruby/lib/cc/session.rb
==============================================================================
--- branches/f2f200910/src/lib/cc/ruby/lib/cc/session.rb (original)
+++ branches/f2f200910/src/lib/cc/ruby/lib/cc/session.rb Thu Oct 29 00:21:17 2009
@@ -115,14 +115,30 @@
end
def group_sendmsg(msg, group, instance = "*", to = "*")
+ seq = next_sequence
sendmsg({ :type => "send",
:from => @lname,
:to => to,
:group => group,
:instance => instance,
- :seq => next_sequence,
+ :seq => seq,
:msg => CC::Message.to_wire(msg),
})
+ seq
+ end
+
+ def group_sendmsg(routing, msg)
+ seq = next_sequence
+ sendmsg({ :type => "send",
+ :from => @lname,
+ :to => routing["from"],
+ :group => routing["group"],
+ :instance => routing["instance"],
+ :seq => seq,
+ :reply => fouring["seq"],
+ :msg => CC::Message.to_wire(msg),
+ })
+ seq
end
def group_recvmsg(nonblock = true)
More information about the bind10-changes
mailing list