public void TryReleaseCapacity(bool isRetryRequest,RetryCapacity retryCapacity) { if(isRetryRequest) { ReleaseCapacity(THROTTLE_RETRY_REQUEST_COST,retryCapacity); } else { ReleaseCapacity(THROTTLE_REQUEST_COST,retryCapacity); } }
/// <summary> /// Virtual method that gets called on a success Response. If its a retry success response, the entire /// retry acquired capacity is released(default is 5). If its just a success response a lesser value capacity /// is released(default is 1). /// </summary> /// <param name="executionContext">Request context containing the state of the request.</param> public override void NotifySuccess(IExecutionContext executionContext) { if (executionContext.RequestContext.ClientConfig.ThrottleRetries && _retryCapacity != null) { _capacityManagerInstance.TryReleaseCapacity(executionContext.RequestContext.Retries > 0 ? true:false, _retryCapacity); } }