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);
}