1 """
2 This module extends MMapWrapper to make it expandable for writes
3 """
4
5 import mmap
6
7 initial_size = int(1e6)
8
9 WRITE_MODE = 2
10 READ_MODE = 1
11
13 - def __new__(cls, file_no, length, is_write, debug = False):
23
24 """
25 Writes given data to the mmap
26 If we run out of space, buffer size is expanded
27 @type data: data
28 @param data: data to write to the mmap
29 """
31 if(self.tell() + len(data) >= self.size()):
32 cur_length = self.size()
33 self.resize(cur_length * 2)
34
35 mmap.mmap.write(self, data)
36