summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-08-02 18:09:48 +0000
committerGordon Sim <gsim@apache.org>2007-08-02 18:09:48 +0000
commit89aa36d093182e9e191c000504c174663932458f (patch)
tree06d7e9a3feb4abdaab74b79c94e4352dfa40adaa /python
parent2290d4ed915f1202bcd6cd50b1a85f27f3eb6cd2 (diff)
downloadqpid-python-89aa36d093182e9e191c000504c174663932458f.tar.gz
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
Diffstat (limited to 'python')
-rw-r--r--python/qpid/message.py2
-rw-r--r--python/qpid/peer.py9
-rw-r--r--python/qpid/spec.py3
3 files changed, 5 insertions, 9 deletions
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)