code: protected function incrementCounter($actionName, $blockType, $entityId, $config)
      {
          // Begin an exclusive transaction
          $this->storage->transaction($actionName, $blockType, RateLimitStorageInterface::TRANSACTION_BEGIN);
          
          $limit = $this->getLimitFor($actionName, $blockType, $entityId);
  
          $time = time();
  
          $resetCounter =
              // Counter reset after specified timeout since the last action
              ($time > $limit["ts"] + $config["counterTimeout"]) ||
  
              // Counter reset after blockout delay timeout
              ($limit["cnt"] >= $config["count"] && $time > $limit["ts"] + $config["blockDuration"]);
  
          if ($resetCounter) {
              $limit["cnt"] = 0;
          }
  
          $limitBeforeIncrement = $limit;
  
          // The limit will be reached with this increment
          if ($limit["cnt"] === $config["count"] - 1) {
              $this->logRateLimitReached($actionName, $blockType, $entityId, $config);
          }
  
          ++$limit["cnt"];
          $limit["ts"] = $time;
  
          // Update the limit if the entity is not blocked
          if ($limit["cnt"] <= $config["count"]) {
              $this->storage->updateLimitFor($actionName, $blockType, $entityId, $limit);
              if (rand(0, 100) <= $this->config["cleanupProbability"]) {
                  $this->storage->cleanup($actionName, $blockType, $config);
              }
              $this->storage->save($actionName, $blockType);
          }
          
          // Close the transaction
          $this->storage->transaction($actionName, $blockType, RateLimitStorageInterface::TRANSACTION_END);
          
          // Returns the limit array before the increment
          return $limitBeforeIncrement;
      }
docs: Increments a counter for the specified limit
  
  @param string $actionName Action id
  @param string $blockType Block type
  @param string $entityId Entity identifier
  @param array $config Limit configuration array
  @return array Limit data array before the increment