protected ResourceRetryPolicyBase()

in src/JetBrains.Space.Common/RetryPolicies/ResourceRetryPolicyBase.cs [26:53]


    protected ResourceRetryPolicyBase(
        int maxRetries = 5,
        double multiplier = 1.5,
        TimeSpan? initialDelay = null,
        TimeSpan? maximumDelay = null)
    {
        if (maxRetries <= 0)
        {
            throw new ArgumentOutOfRangeException(nameof(maxRetries), "Maximum retry count must be greater than zero.");
        }
        if (multiplier <= 0)
        {
            throw new ArgumentOutOfRangeException(nameof(multiplier), "Multiplier must be greater than zero.");
        }
        if (initialDelay != null && initialDelay <= TimeSpan.Zero)
        {
            throw new ArgumentOutOfRangeException(nameof(initialDelay), "Initial delay must be greater than zero.");
        }
        if (maximumDelay != null && (maximumDelay <= TimeSpan.Zero || maximumDelay < initialDelay))
        {
            throw new ArgumentOutOfRangeException(nameof(maximumDelay), $"Maximum delay must be greater than zero, and greater than or equal to {nameof(initialDelay)}.");
        }

        _maxRetries = maxRetries;
        _multiplier = multiplier;
        _initialDelay = initialDelay ?? TimeSpan.FromMilliseconds(500);
        _maximumDelay = maximumDelay ?? TimeSpan.FromSeconds(15);
    }