summaryrefslogtreecommitdiff
path: root/python/qpid/codec010.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-03-06 13:00:58 +0000
committerRafael H. Schloming <rhs@apache.org>2008-03-06 13:00:58 +0000
commite9e915775bdb77b6483c48f111be3299b94f592b (patch)
treef0a4e10d87e810982223985ed26d2024bbe6509f /python/qpid/codec010.py
parentb7c474ea80fce5d53236aeea9f74c9107da0152d (diff)
downloadqpid-python-e9e915775bdb77b6483c48f111be3299b94f592b.tar.gz
added codec for sequence_set; added id to Message; RangeSet -> RangedSet; added RangedSet.add(lower, upper)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634255 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/codec010.py')
-rw-r--r--python/qpid/codec010.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/python/qpid/codec010.py b/python/qpid/codec010.py
index 2dcba4e917..f6539ffcee 100644
--- a/python/qpid/codec010.py
+++ b/python/qpid/codec010.py
@@ -18,6 +18,7 @@
#
from packer import Packer
+from datatypes import RangedSet
class Codec(Packer):
@@ -123,6 +124,23 @@ class Codec(Packer):
self.write_uint16(len(b))
self.write(b)
+ def read_sequence_set(self):
+ result = RangedSet()
+ size = self.read_uint16()
+ nranges = size/8
+ while nranges > 0:
+ lower = self.read_sequence_no()
+ upper = self.read_sequence_no()
+ result.add(lower, upper)
+ nranges -= 1
+ return result
+ def write_sequence_set(self, ss):
+ size = 8*len(ss.ranges)
+ self.write_uint16(size)
+ for range in ss.ranges:
+ self.write_sequence_no(range.lower)
+ self.write_sequence_no(range.upper)
+
def read_vbin32(self):
return self.read(self.read_uint32())
def write_vbin32(self, b):