@@ -14,6 +14,7 @@ import {
14
14
import { getDefaultRetryQuota } from "./defaultRetryQuota" ;
15
15
import { defaultDelayDecider } from "./delayDecider" ;
16
16
import { defaultRetryDecider } from "./retryDecider" ;
17
+ import { DelayDecider , RetryDecider , RetryQuota } from "./types" ;
17
18
18
19
/**
19
20
* The default value for how many HTTP requests an SDK should make for a
@@ -26,47 +27,6 @@ export const DEFAULT_MAX_ATTEMPTS = 3;
26
27
*/
27
28
export const DEFAULT_RETRY_MODE = "standard" ;
28
29
29
- /**
30
- * Determines whether an error is retryable based on the number of retries
31
- * already attempted, the HTTP status code, and the error received (if any).
32
- *
33
- * @param error The error encountered.
34
- */
35
- export interface RetryDecider {
36
- ( error : SdkError ) : boolean ;
37
- }
38
-
39
- /**
40
- * Determines the number of milliseconds to wait before retrying an action.
41
- *
42
- * @param delayBase The base delay (in milliseconds).
43
- * @param attempts The number of times the action has already been tried.
44
- */
45
- export interface DelayDecider {
46
- ( delayBase : number , attempts : number ) : number ;
47
- }
48
-
49
- /**
50
- * Interface that specifies the retry quota behavior.
51
- */
52
- export interface RetryQuota {
53
- /**
54
- * returns true if retry tokens are available from the retry quota bucket.
55
- */
56
- hasRetryTokens : ( error : SdkError ) => boolean ;
57
-
58
- /**
59
- * returns token amount from the retry quota bucket.
60
- * throws error is retry tokens are not available.
61
- */
62
- retrieveRetryTokens : ( error : SdkError ) => number ;
63
-
64
- /**
65
- * releases tokens back to the retry quota.
66
- */
67
- releaseRetryTokens : ( releaseCapacityAmount ?: number ) => void ;
68
- }
69
-
70
30
/**
71
31
* Strategy options to be passed to StandardRetryStrategy
72
32
*/
0 commit comments