From 25daf96a9c0fdddd4991493969c657bad7002fdd Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 22 Apr 2003 11:02:39 +0000 Subject: [PATCH] Enabled __slots__ on RingBuffer. --- src/structures.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/structures.py b/src/structures.py index 5bcda4c64..a3709d4e6 100644 --- a/src/structures.py +++ b/src/structures.py @@ -42,7 +42,7 @@ import types __all__ = ['RingBuffer', 'queue', 'MaxLengthQueue'] class RingBuffer(object): - #__slots__ = ('L', 'i', 'full') + __slots__ = ('L', 'i', 'full', 'maxSize') def __init__(self, maxSize, seq=()): if maxSize <= 0: raise ValueError, 'maxSize must be > 0.' @@ -145,6 +145,15 @@ class RingBuffer(object): else: return 'RingBuffer(%r, %r)' % (self.maxSize, list(self)) + def __getstate__(self): + return (self.maxSize, self.full, self.i, self.L) + + def __setstate__(self, (maxSize, full, i, L)): + self.maxSize = maxSize + self.full = full + self.i = i + self.L = L + class queue(object): __slots__ = ('front', 'back')