# Functions
NewRetry initializes a retry handler maxRetry is *retries*, so maxRetry of 2 means 3 total tries.
NewRetryWithMaxWaitTime initializes a retry handler maxRetry is *retries*, so maxRetry of 2 means 3 total tries.
NewTestRetry is the test version, returns Retry in test mode (nanosecond retry delay).
WaitTime calculates the wait time based off the attempt number based off exponential backoff with a random delay.
# Constants
15 minutes.
# Structs
NonRetryableError represents an error returned if the error should not be retried.
Retry handles executing and retrying a function It uses exponential backoff between retry attempts.