diff options
| author | Gordon Sim <gsim@apache.org> | 2007-08-02 18:09:48 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2007-08-02 18:09:48 +0000 |
| commit | 89aa36d093182e9e191c000504c174663932458f (patch) | |
| tree | 06d7e9a3feb4abdaab74b79c94e4352dfa40adaa /python | |
| parent | 2290d4ed915f1202bcd6cd50b1a85f27f3eb6cd2 (diff) | |
| download | qpid-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.py | 2 | ||||
| -rw-r--r-- | python/qpid/peer.py | 9 | ||||
| -rw-r--r-- | python/qpid/spec.py | 3 |
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) |
