TokenBucketSemaphoreBasedRateLimiter     
  Parameters
config
The configuration for the rate limiter mechanism.
semaphoreState 
The state of the semaphore which includes an internal in-memory queue to store the excess requests.