示例#1
0
    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
示例#2
0
    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)
示例#3
0
    def __enter__(self):
        if self._algorithm is None:
            return

        self._algorithm._buffers[_thread.get_ident()] = self._buffer