]> git.ipfire.org Git - ipfire.org.git/blobdiff - www/pages/torrent/client/piecebuffer.py
Initial checkin.
[ipfire.org.git] / www / pages / torrent / client / piecebuffer.py
diff --git a/www/pages/torrent/client/piecebuffer.py b/www/pages/torrent/client/piecebuffer.py
deleted file mode 100644 (file)
index 96cc918..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# Written by John Hoffman
-# see LICENSE.txt for license information
-
-from array import array
-from threading import Lock
-# import inspect
-try:
-    True
-except:
-    True = 1
-    False = 0
-    
-DEBUG = False
-
-class SingleBuffer:
-    def __init__(self, pool):
-        self.pool = pool
-        self.buf = array('c')
-
-    def init(self):
-        if DEBUG:
-            print self.count
-            '''
-            for x in xrange(6,1,-1):
-                try:
-                    f = inspect.currentframe(x).f_code
-                    print (f.co_filename,f.co_firstlineno,f.co_name)
-                    del f
-                except:
-                    pass
-            print ''
-            '''
-        self.length = 0
-
-    def append(self, s):
-        l = self.length+len(s)
-        self.buf[self.length:l] = array('c',s)
-        self.length = l
-
-    def __len__(self):
-        return self.length
-
-    def __getslice__(self, a, b):
-        if b > self.length:
-            b = self.length
-        if b < 0:
-            b += self.length
-        if a == 0 and b == self.length and len(self.buf) == b:
-            return self.buf  # optimization
-        return self.buf[a:b]
-
-    def getarray(self):
-        return self.buf[:self.length]
-
-    def release(self):
-        if DEBUG:
-            print -self.count
-        self.pool.release(self)
-
-
-class BufferPool:
-    def __init__(self):
-        self.pool = []
-        self.lock = Lock()
-        if DEBUG:
-            self.count = 0
-
-    def new(self):
-        self.lock.acquire()
-        if self.pool:
-            x = self.pool.pop()
-        else:
-            x = SingleBuffer(self)
-            if DEBUG:
-                self.count += 1
-                x.count = self.count
-        x.init()
-        self.lock.release()
-        return x
-
-    def release(self, x):
-        self.pool.append(x)
-
-
-_pool = BufferPool()
-PieceBuffer = _pool.new