code: def wait(self):
          
          now = _monotonic()
          if now < self._ref:
              delay = max(0, self._ref - now)
              self.sleep_func(delay)
          self._update_ref()
docs: Blocks until the rate is met