code: def _wait_for_reader(self):
          
          if self.max_size <= 0:  # Unlimited queue
              return
          if self.write_item_offset - self.cached_remote_offset <= self.max_size:
              return  # Hasn't reached max size
          remote_offset = internal_kv._internal_kv_get(self.read_ack_key)
          if remote_offset is None:
              # logger.debug("[writer] Waiting for reader to start...")
              while remote_offset is None:
                  time.sleep(0.01)
                  remote_offset = internal_kv._internal_kv_get(self.read_ack_key)
          remote_offset = int(remote_offset)
          if self.write_item_offset - remote_offset > self.max_size:
              logger.debug(
                  "[writer] Waiting for reader to catch up {} to {} - {}".format(
                      remote_offset, self.write_item_offset, self.max_size))
              while self.write_item_offset - remote_offset > self.max_size:
                  time.sleep(0.01)
                  remote_offset = int(
                      internal_kv._internal_kv_get(self.read_ack_key))
          self.cached_remote_offset = remote_offset
docs: Checks for backpressure by the downstream reader.