A retry plan can be modeled as deterministic data before it drives real scheduling.

Retry Plan

RetryPlan.java
public class RetryPlan {
    static String buildPlan(int maxRetries) {
        StringBuilder delays = new StringBuilder();

        for (int retry = 1; retry <= maxRetries; retry++) {
            if (retry > 1) {
                delays.append(",");
            }
            delays.append(retry * 100);
        }

        return delays.toString();
    }

    public static void main(String[] args) {
        int maxRetries = ;
        String delays = buildPlan(maxRetries);
        int finalDelay = maxRetries == 0 ? 0 : maxRetries * 100;

        System.out.println("delays=" + delays);
        System.out.println("final=" + finalDelay);
    }
}
public class RetryPlan {
    static String buildPlan(int maxRetries) {
        StringBuilder delays = new StringBuilder();

        for (int retry = 1; retry <= maxRetries; retry++) {
            if (retry > 1) {
                delays.append(",");
            }
            delays.append(retry * 100);
        }

        return delays.toString();
    }

    public static void main(String[] args) {
        int maxRetries = ;
        String delays = buildPlan(maxRetries);
        int finalDelay = maxRetries == 0 ? 0 : maxRetries * 100;

        System.out.println("delays=" + delays);
        System.out.println("final=" + finalDelay);
    }
}
public class RetryPlan {
    static String buildPlan(int maxRetries) {
        StringBuilder delays = new StringBuilder();

        for (int retry = 1; retry <= maxRetries; retry++) {
            if (retry > 1) {
                delays.append(",");
            }
            delays.append(retry * 100);
        }

        return delays.toString();
    }

    public static void main(String[] args) {
        int maxRetries = ;
        String delays = buildPlan(maxRetries);
        int finalDelay = maxRetries == 0 ? 0 : maxRetries * 100;

        System.out.println("delays=" + delays);
        System.out.println("final=" + finalDelay);
    }
}
retry data The example builds retry delays as plain data instead of sleeping or measuring time.
final delay The final delay summarizes the last retry step for later reporting.