code: public function throttle($key, $limit, $milliseconds)
      {
          /**
           * Try do our waiting without a lock, so may sneak through because of
           * this...
           */
          $wait = $this->getEstimate($key, $limit, $milliseconds);
          if ($wait > 0) {
              usleep($wait * 1000);
          }
  
          $key = $this->getStorageKey($key, $limit, $milliseconds); 
          $this->storage->lock($key);
          $count = $this->storage->get($key);
          $count++;
          $this->storage->set($key, $count);
          $this->storage->unlock($key);
          return $wait;
      }
docs: Throttle
  
  @param string $key  - A unique key for what we're throttling
  @param int $limit   - How many are allowed
  @param int $milliseconds - In this many milliseconds
  @return void