Exemplo n.º 1
0
 def _allocate_tiny(self, size):
     free = self.size - self.offset
     if (size > free):
         self.size += mmap.PAGESIZE
         if (self.size > 1024**2): self.size = 1024**2
         self.buf = SharedMemoryBuffer(self.size)
         self.offset = size
         addr, _ = self.buf.getbuffer()
         return 0, self.buf
     else:
         offset = self.offset
         self.offset += size
         addr, _ = self.buf.getbuffer()
         return offset, self.buf
Exemplo n.º 2
0
 def _allocate_big(self, size):
     buf = SharedMemoryBuffer(size)
     addr, _ = buf.getbuffer()
     return 0, buf
Exemplo n.º 3
0
 def __init__(self):
     self.lock = threading.Lock()
     self.size = mmap.PAGESIZE
     self.offset = 0
     self.buf = SharedMemoryBuffer(self.size)