def __exit__(self, exc_type, exc_val, exc_tb): if self._algorithm is None: return try: del self._algorithm._buffers[_thread.get_ident()] except KeyError: pass
def __getitem__(self, key): # Try retrieve value from `prime_buffer` try: buffer = self._buffers.get(_thread.get_ident()) if buffer is not None: return buffer[key] except KeyError: pass # Try retrieve value from `cache` try: value = self.cache[key] # Ensure node for `key` exists self.create(key) return value except KeyError: pass # Try load `key` from `archive` return self.load(key)
def __enter__(self): if self._algorithm is None: return self._algorithm._buffers[_thread.get_ident()] = self._buffer