code: def _wait(self, args, now, cap, consumed_history, consumed_capacity):
          
          for key in ['read', 'write']:
              if key in cap and cap[key] > 0:
                  consumed_history[key].add(now, consumed_capacity[key])
                  consumed = consumed_history[key].value
                  if consumed > 0 and consumed >= cap[key]:
                      seconds = math.ceil(float(consumed) / cap[key])
                      LOG.debug("Rate limited throughput exceeded. Sleeping "
                                "for %d seconds.", seconds)
                      if callable(self.callback):
                          callback_args = args + (seconds,)
                          if self.callback(*callback_args):
                              continue
                      time.sleep(seconds)
docs: Check the consumed capacity against the limit and sleep