No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

exponential_backoff.d.ts 1.3KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * @license
  3. * Copyright 2019 Google LLC
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. /**
  18. * The maximum milliseconds to increase to.
  19. *
  20. * <p>Visible for testing
  21. */
  22. export declare const MAX_VALUE_MILLIS: number;
  23. /**
  24. * The percentage of backoff time to randomize by.
  25. * See
  26. * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic
  27. * for context.
  28. *
  29. * <p>Visible for testing
  30. */
  31. export declare const RANDOM_FACTOR = 0.5;
  32. /**
  33. * Based on the backoff method from
  34. * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.
  35. * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.
  36. */
  37. export declare function calculateBackoffMillis(backoffCount: number, intervalMillis?: number, backoffFactor?: number): number;