From 19ad6741d3579b1ffce70a43271e4e4f804ad643 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Thu, 6 Mar 2008 15:05:04 +0000 Subject: preliminary support for message headers git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634289 13f79535-47bb-0310-9956-ffa450edef68 --- python/hello-010-world | 4 +++- python/qpid/session.py | 10 +++++++++- python/server010 | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'python') diff --git a/python/hello-010-world b/python/hello-010-world index 5ae42c2ac1..ff01cf9ed7 100755 --- a/python/hello-010-world +++ b/python/hello-010-world @@ -22,8 +22,10 @@ ssn = conn.session("my-session", timeout=10) ssn.queue_declare("asdf") + ssn.message_transfer("this", None, None, Message("testing...")) -ssn.message_transfer("is", None, None, Message("more testing...")) +props = ssn.delivery_properties(routing_key="asdf") +ssn.message_transfer("is", None, None, Message(props, "more testing...")) ssn.message_transfer("a") ssn.message_transfer("test") diff --git a/python/qpid/session.py b/python/qpid/session.py index 7702a19251..c628762dac 100644 --- a/python/qpid/session.py +++ b/python/qpid/session.py @@ -73,9 +73,17 @@ class Session(Invoker): if cmd is not None and cmd.track == self.spec["track.command"].value: return cmd else: + # XXX + for st in self.spec.structs.values(): + if st.name == name: + return st return None def invoke(self, type, args, kwargs): + # XXX + if not hasattr(type, "track"): + return type.new(args, kwargs) + if self.channel == None: raise SessionDetached() @@ -106,7 +114,7 @@ class Session(Invoker): if message.headers != None: sc = StringCodec(self.spec) for st in message.headers: - sc.write_struct32(st.type, st) + sc.write_struct32(st) seg = Segment(False, message.body == None, self.spec["segment_type.header"].value, type.track, self.channel.id, sc.encoded) self.send(seg) diff --git a/python/server010 b/python/server010 index ee47731a60..ecf76577ec 100755 --- a/python/server010 +++ b/python/server010 @@ -28,9 +28,9 @@ class SessionDelegate(Client): def queue_query(self, qq): return qq.type.result.type.new((qq.queue,), {}) - def message_transfer(self, cmd, header, body): + def message_transfer(self, cmd, headers, body): m = Message(body) - m.header = header + m.headers = headers self.session.message_transfer(cmd.destination, cmd.accept_mode, cmd.acquire_mode, m) def message_accept(self, messages): -- cgit v1.2.1