summaryrefslogtreecommitdiff
path: root/qpid/python
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-04-30 14:16:38 +0000
committerGordon Sim <gsim@apache.org>2008-04-30 14:16:38 +0000
commit9262e03f9381782009a4da0f50d36aaabd20bbe3 (patch)
treefb1336bd50cde3f2c12c438cc2820fe8e2a68abf /qpid/python
parent64e275540e85fba886809845a08aec52ba2c4add (diff)
downloadqpid-python-9262e03f9381782009a4da0f50d36aaabd20bbe3.tar.gz
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
Diffstat (limited to 'qpid/python')
-rw-r--r--qpid/python/qpid/codec010.py3
-rw-r--r--qpid/python/qpid/framer.py6
2 files changed, 2 insertions, 7 deletions
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