diff options
| author | Ted Ross <tross@apache.org> | 2008-07-31 13:15:16 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2008-07-31 13:15:16 +0000 |
| commit | 9fb5fd7a0a800591c334bde2b9556e984217d7de (patch) | |
| tree | c632c481f9cbf647d4ce453ff1076895866fc5e7 /python/qpid/management.py | |
| parent | 033f088884f2e6bbc08d6027e1507b6d67eaad53 (diff) | |
| download | qpid-python-9fb5fd7a0a800591c334bde2b9556e984217d7de.tar.gz | |
QPID-1174 - Management updates for remote agents
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@681362 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/management.py')
| -rw-r--r-- | python/qpid/management.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/python/qpid/management.py b/python/qpid/management.py index 55479de0e6..1059c70ada 100644 --- a/python/qpid/management.py +++ b/python/qpid/management.py @@ -154,7 +154,7 @@ class managementChannel: def accept (self, msg): self.qpidChannel.message_accept(RangedSet(msg.id)) - def message (self, body, routing_key="agent"): + def message (self, body, routing_key="broker"): dp = self.qpidChannel.delivery_properties() dp.routing_key = routing_key mp = self.qpidChannel.message_properties() @@ -227,14 +227,14 @@ class managementClient: """ Invoke a method on a managed object. """ self.method (channel, userSequence, objId, className, methodName, args) - def getObjects (self, channel, userSequence, className): + def getObjects (self, channel, userSequence, className, bank=0): """ Request immediate content from broker """ codec = Codec (self.spec) self.setHeader (codec, ord ('G'), userSequence) ft = {} ft["_class"] = className codec.write_map (ft) - msg = channel.message(codec.encoded) + msg = channel.message(codec.encoded, routing_key="agent.%d" % bank) channel.send ("qpid.management", msg) def syncWaitForStable (self, channel): @@ -273,14 +273,14 @@ class managementClient: self.cv.release () return result - def syncGetObjects (self, channel, className): + def syncGetObjects (self, channel, className, bank=0): """ Synchronous (blocking) get call """ self.cv.acquire () self.syncInFlight = True self.syncResult = [] self.syncSequence = self.seqMgr.reserve ("sync") self.cv.release () - self.getObjects (channel, self.syncSequence, className) + self.getObjects (channel, self.syncSequence, className, bank) self.cv.acquire () starttime = time () while self.syncInFlight: @@ -748,6 +748,8 @@ class managementClient: sequence = self.seqMgr.reserve ((userSequence, classId, methodName)) self.setHeader (codec, ord ('M'), sequence) codec.write_uint64 (objId) # ID of object + codec.write_str8 (methodName) + bank = (objId & 0x0000FFFFFF000000) >> 24 # Encode args according to schema if classId not in self.schema: @@ -777,6 +779,5 @@ class managementClient: packageName = classId[0] className = classId[1] - msg = channel.message(codec.encoded, "agent.method." + packageName + "." + \ - className + "." + methodName) + msg = channel.message(codec.encoded, "agent." + str(bank)) channel.send ("qpid.management", msg) |
