in qpid/management.py [0:0]
def handleMethodReply (self, ch, codec, sequence):
status = codec.read_uint32 ()
sText = codec.read_str16 ()
data = self.seqMgr.release (sequence)
if data == None:
return
(userSequence, classId, methodName) = data
args = {}
context = self.seqMgr.release (userSequence)
if status == 0:
schemaClass = self.schema[classId]
ms = schemaClass['M']
arglist = None
for mname in ms:
(mdesc, margs) = ms[mname]
if mname == methodName:
arglist = margs
if arglist == None:
return
for arg in arglist:
if arg[2].find("O") != -1:
args[arg[0]] = self.decodeValue (codec, arg[1])
if context == "sync" and userSequence == self.syncSequence:
self.cv.acquire ()
self.syncInFlight = False
self.syncResult = methodResult (status, sText, args)
self.cv.notify ()
self.cv.release ()
elif self.methodCb != None:
self.methodCb (ch.context, userSequence, status, sText, args)