Lines Matching refs:self

126     def __init__(self, min_val, max_val, autoextend=True):  argument
127 self.min_val = min_val
128 self.max_val = max_val
130 self.avail = [[min_val, max_val]]
132 self.avail = []
133 self.autoextend = autoextend
134 self.last = None
135 self.lock = threading.Lock()
137 def __repr__(self): argument
138 myname = self.__class__.__name__
139 if self.autoextend:
143 return '{0}({1}, {2}{3})'.format(myname, self.min_val, self.max_val, ae)
145 def _find_block(self, val): argument
173 high = len(self.avail) - 1
176 pair = self.avail[mid]
191 def alloc(self, val=None): argument
204 with self.lock:
206 val = self.last + 1 if self.last is not None else self.min_val
207 if val is None or val > self.max_val or val < self.min_val:
208 val = self.min_val
209 i, pair = self._find_block(val)
218 nblocks = len(self.avail)
224 pair = self.avail[i]
238 del self.avail[i]
248 self.avail.insert(i + 1, newpair)
249 self.last = val
252 def free(self, val): argument
254 self._free_multi('free', [val])
256 def free_multi(self, values): argument
260 self._free_multi('free_multi', values)
262 def _free_multi(self, how, values): argument
268 with self.lock:
277 self._free_range(how, val, highval)
279 def _maybe_increase_max(self, how, val): argument
285 if val <= self.max_val:
287 if self.autoextend:
288 self.max_val = val
292 def _maybe_decrease_min(self, how, val): argument
298 if val >= self.min_val:
300 if self.autoextend:
301 self.min_val = val
305 def _free_range(self, how, val, highval): argument
314 i, pair = self._find_block(val)
319 if highval > val and i < len(self.avail):
320 if self.avail[i][0] <= highval:
329 abuts_below = self.avail[i - 1][1] + 1 == val
332 if i < len(self.avail):
333 abuts_above = self.avail[i][0] - 1 == highval
344 self.avail[i - 1][1] = self.avail[i][1]
345 del self.avail[i]
348 self._maybe_increase_max(how, highval)
349 self.avail[i - 1][1] = highval
353 self._maybe_decrease_min(how, val)
354 self.avail[i][0] = val
357 self._maybe_decrease_min(how, val)
358 self._maybe_increase_max(how, highval)
360 self.avail.insert(i, newblock)