All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bandwidth.sdk.numbers.helpers.RetryableRequest Maven / Gradle / Ivy

package com.bandwidth.sdk.numbers.helpers;

import java.util.function.Predicate;
import java.util.function.Supplier;

public class RetryableRequest {

   private RetryableRequest() {
      // utility class, no instances
   }

   public static  T executeRequest(Supplier fn, Predicate resultTester, RetryPolicy retryPolicy) {
      T result = fn.get();
      int attempt = 0;

      while (!resultTester.test(result)) {
         retryPolicy.doRetry(attempt++);
         result = fn.get();
      }

      return result;
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy