< Summary - Syki

Information
Class: Syki.Back.Commands.CommandBackoffStrategies
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Commands/CommandBackoffStrategies.cs
Tag: 97_27801654829
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 40
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 5
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetDelaySeconds(...)0%3050%
Exponential(...)100%210%
Linear(...)100%210%
Fixed(...)100%210%

File(s)

/home/runner/work/syki/syki/Back/Commands/CommandBackoffStrategies.cs

#LineLine coverage
 1namespace Syki.Back.Commands;
 2
 3public static class CommandBackoffStrategies
 4{
 5    public static int? GetDelaySeconds(BackoffStrategy strategy, int baseDelaySeconds, int retryAttempt)
 6    {
 07        return strategy switch
 08        {
 09            BackoffStrategy.None => null,
 010            BackoffStrategy.Exponential => Exponential(baseDelaySeconds, retryAttempt),
 011            BackoffStrategy.Linear => Linear(baseDelaySeconds, retryAttempt),
 012            BackoffStrategy.Fixed => Fixed(baseDelaySeconds),
 013            _ => null,
 014        };
 15    }
 16
 17    /// <summary>
 18    /// base*1, base*2, base*4, base*8...  (baseDelay * 2^(retryAttempt-1))
 19    /// </summary>
 20    private static int Exponential(int baseDelaySeconds, int retryAttempt)
 21    {
 022        return baseDelaySeconds * (int)Math.Pow(2, retryAttempt - 1);
 23    }
 24
 25    /// <summary>
 26    /// base*1, base*2, base*3, base*4...  (baseDelay * retryAttempt)
 27    /// </summary>
 28    private static int Linear(int baseDelaySeconds, int retryAttempt)
 29    {
 030        return baseDelaySeconds * retryAttempt;
 31    }
 32
 33    /// <summary>
 34    /// base, base, base...
 35    /// </summary>
 36    private static int Fixed(int baseDelaySeconds)
 37    {
 038        return baseDelaySeconds;
 39    }
 40}