From 9262e03f9381782009a4da0f50d36aaabd20bbe3 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 30 Apr 2008 14:16:38 +0000 Subject: QPID-988 and QPID-989: fixes to framing for final 0-10 spec git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@652386 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/qpid/codec010.py | 3 ++- qpid/python/qpid/framer.py | 6 ------ 2 files changed, 2 insertions(+), 7 deletions(-) (limited to 'qpid/python') diff --git a/qpid/python/qpid/codec010.py b/qpid/python/qpid/codec010.py index 0ba3341665..1c76666de1 100644 --- a/qpid/python/qpid/codec010.py +++ b/qpid/python/qpid/codec010.py @@ -156,6 +156,7 @@ class Codec(Packer): def write_map(self, m): sc = StringCodec(self.spec) + sc.write_uint32(len(m)) for k, v in m.items(): type = self.spec.encoding(v.__class__) if type == None: @@ -163,10 +164,10 @@ class Codec(Packer): sc.write_str8(k) sc.write_uint8(type.code) type.encode(sc, v) - # XXX: need to put in count when CPP supports it self.write_vbin32(sc.encoded) def read_map(self): sc = StringCodec(self.spec, self.read_vbin32()) + count = sc.read_uint32() result = {} while sc.encoded: k = sc.read_str8() diff --git a/qpid/python/qpid/framer.py b/qpid/python/qpid/framer.py index fb0e677cee..78a29235cb 100644 --- a/qpid/python/qpid/framer.py +++ b/qpid/python/qpid/framer.py @@ -131,8 +131,6 @@ class Framer(Packer): track = frame.track & 0x0F self.pack(Frame.HEADER, frame.flags, frame.type, size, track, frame.channel) self.write(frame.payload) - # XXX: NOT 0-10 FINAL, TEMPORARY WORKAROUND for C++ - self.write("\xCE") frm.debug("SENT %s", frame) finally: self.sock_lock.release() @@ -141,10 +139,6 @@ class Framer(Packer): flags, type, size, track, channel = self.unpack(Frame.HEADER) if flags & 0xF0: raise FramingError() payload = self.read(size - struct.calcsize(Frame.HEADER)) - # XXX: NOT 0-10 FINAL, TEMPORARY WORKAROUND for C++ - end = self.read(1) - if end != "\xCE": - raise FramingError() frame = Frame(flags, type, track, channel, payload) frm.debug("RECV %s", frame) return frame -- cgit v1.2.1