Amazon.Runtime.Internal.CapacityManager.AddNewRetryCapacity C# (CSharp) Method

AddNewRetryCapacity() private method

private AddNewRetryCapacity ( string serviceURL ) : RetryCapacity
serviceURL string
return RetryCapacity
        private RetryCapacity AddNewRetryCapacity(string serviceURL)
        {
            RetryCapacity retryCapacity;
            _rwlock.EnterUpgradeableReadLock();
            try
            {
                if (!(_serviceUrlToCapacityMap.TryGetValue(serviceURL, out retryCapacity)))
                {
                    _rwlock.EnterWriteLock();
                    try
                    {
                        retryCapacity = new RetryCapacity(THROTTLE_RETRY_REQUEST_COST * THROTTLED_RETRIES);
                        _serviceUrlToCapacityMap.Add(serviceURL, retryCapacity);
                        return retryCapacity;
                    }
                    finally
                    {
                        _rwlock.ExitWriteLock();
                    }
                }
                else
                {
                    return retryCapacity;
                }
            }
            finally
            {
                _rwlock.ExitUpgradeableReadLock();
            }
        }