Author: rhs
Date: Fri Mar  6 16:23:14 2009
New Revision: 750960

URL: http://svn.apache.org/viewvc?rev=750960&view=rev
Log:
added support for encoding buffers

Modified:
    qpid/trunk/qpid/python/qpid/codec010.py
    qpid/trunk/qpid/python/qpid/spec010.py
    qpid/trunk/qpid/python/tests/codec010.py

Modified: qpid/trunk/qpid/python/qpid/codec010.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/codec010.py?rev=750960&r1=750959&r2=750960&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/codec010.py (original)
+++ qpid/trunk/qpid/python/qpid/codec010.py Fri Mar  6 16:23:14 2009
@@ -118,6 +118,8 @@
   def read_vbin8(self):
     return self.read(self.read_uint8())
   def write_vbin8(self, b):
+    if isinstance(b, buffer):
+      b = str(b)
     self.write_uint8(len(b))
     self.write(b)
 
@@ -140,6 +142,8 @@
   def read_vbin16(self):
     return self.read(self.read_uint16())
   def write_vbin16(self, b):
+    if isinstance(b, buffer):
+      b = str(b)
     self.write_uint16(len(b))
     self.write(b)
 
@@ -163,6 +167,8 @@
   def read_vbin32(self):
     return self.read(self.read_uint32())
   def write_vbin32(self, b):
+    if isinstance(b, buffer):
+      b = str(b)
     self.write_uint32(len(b))
     self.write(b)
 

Modified: qpid/trunk/qpid/python/qpid/spec010.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/spec010.py?rev=750960&r1=750959&r2=750960&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/spec010.py (original)
+++ qpid/trunk/qpid/python/qpid/spec010.py Fri Mar  6 16:23:14 2009
@@ -481,6 +481,7 @@
   ENCODINGS = {
     unicode: direct("str16"),
     str: map_str,
+    buffer: direct("vbin32"),
     int: direct("int64"),
     long: direct("int64"),
     float: direct("float"),

Modified: qpid/trunk/qpid/python/tests/codec010.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/tests/codec010.py?rev=750960&r1=750959&r2=750960&view=diff
==============================================================================
--- qpid/trunk/qpid/python/tests/codec010.py (original)
+++ qpid/trunk/qpid/python/tests/codec010.py Fri Mar  6 16:23:14 2009
@@ -48,6 +48,11 @@
   def testMapBinary(self):
     self.check("map", {"binary": 
"\x7f\xb4R^\xe5\xf0:\x89\x96E1\xf6\xfe\xb9\x1b\xf5"})
 
+  def testMapBuffer(self):
+    s = "\x7f\xb4R^\xe5\xf0:\x89\x96E1\xf6\xfe\xb9\x1b\xf5"
+    dec = self.check("map", {"buffer": buffer(s)}, False)
+    assert dec["buffer"] == s
+
   def testMapInt(self):
     self.check("map", {"int": 3})
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to