ExponentialBackoffWithJitter Class

  • java.lang.Object
    • RetryPolicy
      • com.microsoft.azure.sdk.iot.device.transport.ExponentialBackoffWithJitter

public class ExponentialBackoffWithJitter implements RetryPolicy

Represents a retry policy that performs exponential backoff with jitter retries.

Constructor Summary

Constructor Description
ExponentialBackoffWithJitter()

Constructor with default backoff values and firstFastRetry

ExponentialBackoffWithJitter(int retryCount, long minBackoff, long maxBackoff, long deltaBackoff, boolean firstFastRetry)

Constructor.

Method Summary

Modifier and Type Method and Description
RetryDecision getRetryDecision(int currentRetryCount, TransportException lastException)

Determines whether the operation should be retried and the interval until the next retry.

Constructor Details

ExponentialBackoffWithJitter

public ExponentialBackoffWithJitter()

Constructor with default backoff values and firstFastRetry

ExponentialBackoffWithJitter

public ExponentialBackoffWithJitter(int retryCount, long minBackoff, long maxBackoff, long deltaBackoff, boolean firstFastRetry)

Constructor.

Parameters:

retryCount - the max number of retries allowed in the policies.
minBackoff - the min interval between each retry.
maxBackoff - the max interval between each retry.
deltaBackoff - the max delta allowed between retries.
firstFastRetry - indicates whether the first retry should be immediate.

Method Details

getRetryDecision

public RetryDecision getRetryDecision(int currentRetryCount, TransportException lastException)

Determines whether the operation should be retried and the interval until the next retry.

Overrides:

ExponentialBackoffWithJitter.getRetryDecision(int currentRetryCount, TransportException lastException)

Parameters:

currentRetryCount - the number of retries for the given operation
lastException

Returns:

the retry decision.

Applies to