def METHOD_NAME(self) -> int:
    with self.lock:
        self._maybe_seed()
        if self.digest is None or self.next_byte == self.hash_len:
            self.hash.update(bytes(self.pool))
            self.digest = bytearray(self.hash.digest())
            self._stir(self.digest)
            self.next_byte = 0
        value = self.digest[self.next_byte]
        self.next_byte += 1
    return value