summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/qpid/management.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/python/qpid/management.py b/python/qpid/management.py
index a23932aebb..3de8da9d49 100644
--- a/python/qpid/management.py
+++ b/python/qpid/management.py
@@ -376,22 +376,23 @@ class managementClient:
def replyCb (self, ch, msg):
""" Receive messages via the reply queue of a particular channel. """
codec = Codec (msg.body)
- hdr = self.checkHeader (codec)
- if hdr == None:
- return
+ while True:
+ hdr = self.checkHeader (codec)
+ if hdr == None:
+ return
- if hdr[0] == 'm':
- self.handleMethodReply (ch, codec, hdr[1])
- elif hdr[0] == 'z':
- self.handleCommandComplete (ch, codec, hdr[1])
- elif hdr[0] == 'b':
- self.handleBrokerResponse (ch, codec)
- elif hdr[0] == 'p':
- self.handlePackageInd (ch, codec)
- elif hdr[0] == 'q':
- self.handleClassInd (ch, codec)
- else:
- self.parse (ch, codec, hdr[0], hdr[1])
+ if hdr[0] == 'm':
+ self.handleMethodReply (ch, codec, hdr[1])
+ elif hdr[0] == 'z':
+ self.handleCommandComplete (ch, codec, hdr[1])
+ elif hdr[0] == 'b':
+ self.handleBrokerResponse (ch, codec)
+ elif hdr[0] == 'p':
+ self.handlePackageInd (ch, codec)
+ elif hdr[0] == 'q':
+ self.handleClassInd (ch, codec)
+ else:
+ self.parse (ch, codec, hdr[0], hdr[1])
def exceptCb (self, ch, data):
if self.closeCb != None: