summaryrefslogtreecommitdiff
path: root/python/qpid/session.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-03-10 19:12:09 +0000
committerRafael H. Schloming <rhs@apache.org>2008-03-10 19:12:09 +0000
commit713c0c114f8d344beb58d5f99d0cb602485399cf (patch)
treeda91f2d82f9bce5f5939d18db3526851ffd2ff95 /python/qpid/session.py
parentaeb6df01fad88c3202c9e30205ec60801d672d9c (diff)
downloadqpid-python-713c0c114f8d344beb58d5f99d0cb602485399cf.tar.gz
renamed datatypes.Struct.type -> datatypes.Struct._type; this avoids naming conflicts with metadata-driven fields; moved argument validation -> datatypes.Struct and improved error checking; improved datatypes.Struct.__repr__
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@635660 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/session.py')
-rw-r--r--python/qpid/session.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/python/qpid/session.py b/python/qpid/session.py
index 7a84fa601d..8374b8cd3d 100644
--- a/python/qpid/session.py
+++ b/python/qpid/session.py
@@ -129,7 +129,8 @@ class Session(Invoker):
cmd = type.new(args, kwargs)
sc = StringCodec(self.spec)
- sc.write_command(type, cmd)
+ hdr = Struct(self.spec["session.header"])
+ sc.write_command(hdr, cmd)
seg = Segment(True, (message == None or
(message.headers == None and message.body == None)),
@@ -174,10 +175,10 @@ class Session(Invoker):
def dispatch(self, assembly):
segments = assembly[:]
- cmd = assembly.pop(0).decode(self.spec)
+ hdr, cmd = assembly.pop(0).decode(self.spec)
args = []
- for st in cmd.type.segments:
+ for st in cmd._type.segments:
if assembly:
seg = assembly[0]
if seg.type == st.segment_type:
@@ -188,10 +189,10 @@ class Session(Invoker):
assert len(assembly) == 0
- attr = cmd.type.qname.replace(".", "_")
+ attr = cmd._type.qname.replace(".", "_")
result = getattr(self.delegate, attr)(cmd, *args)
- if cmd.type.result:
+ if cmd._type.result:
self.execution_result(cmd.id, result)
if result is not INCOMPLETE: