From 89aa36d093182e9e191c000504c174663932458f Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Thu, 2 Aug 2007 18:09:48 +0000 Subject: Some restructuring of the client code: * Introduced three separate 'handlers' for the connection, channel and execution 'layers'. * Support for asynchronous retrieval of response or completion status. * Channel methods no longer included in execution layers command id count. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@562212 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/message.py | 2 +- python/qpid/peer.py | 9 +-------- python/qpid/spec.py | 3 +++ 3 files changed, 5 insertions(+), 9 deletions(-) (limited to 'python') diff --git a/python/qpid/message.py b/python/qpid/message.py index 970ab9d974..7e28b63037 100644 --- a/python/qpid/message.py +++ b/python/qpid/message.py @@ -26,7 +26,7 @@ class Message: self.frame = frame self.method = frame.method_type self.content = content - if self.method.klass.name != "execution": + if self.method.is_l4_command(): self.command_id = self.channel.incoming_completion.sequence.next() #print "allocated: ", self.command_id, "to ", self.method.klass.name, "_", self.method.name diff --git a/python/qpid/peer.py b/python/qpid/peer.py index bedc96895b..2861d51165 100644 --- a/python/qpid/peer.py +++ b/python/qpid/peer.py @@ -376,7 +376,7 @@ class OutgoingCompletion: def next_command(self, method): #the following test is a hack until the track/sub-channel is available - if method.klass.name != "execution": + if method.is_l4_command(): self.command_id = self.sequence.next() def reset(self): @@ -425,13 +425,6 @@ class IncomingCompletion: self.mark = 0 #id of last command of whose completion notification was sent to the other peer self.channel = channel - def next_id(self, method): - #the following test is a hack until the track/sub-channel is available - if method.klass.name != "execution": - return self.sequence.next() - else: - return 0 - def reset(self): self.sequence = Sequence(1) #reset counter diff --git a/python/qpid/spec.py b/python/qpid/spec.py index 09e7dc9d0b..9bbe709ed9 100644 --- a/python/qpid/spec.py +++ b/python/qpid/spec.py @@ -191,6 +191,9 @@ class Method(Metadata): self.docs = docs self.response = False + def is_l4_command(self): + return self.klass.name not in ["execution", "channel", "connection"] + def arguments(self, *args, **kwargs): nargs = len(args) + len(kwargs) maxargs = len(self.fields) -- cgit v1.2.1