DefaultRetryStrategy.cpp 792 B

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. #include <aws/core/client/DefaultRetryStrategy.h>
  6. #include <aws/core/client/AWSError.h>
  7. #include <aws/core/utils/UnreferencedParam.h>
  8. using namespace Aws;
  9. using namespace Aws::Client;
  10. bool DefaultRetryStrategy::ShouldRetry(const AWSError<CoreErrors>& error, long attemptedRetries) const
  11. {
  12. if (attemptedRetries >= m_maxRetries)
  13. return false;
  14. return error.ShouldRetry();
  15. }
  16. long DefaultRetryStrategy::CalculateDelayBeforeNextRetry(const AWSError<CoreErrors>& error, long attemptedRetries) const
  17. {
  18. AWS_UNREFERENCED_PARAM(error);
  19. if (attemptedRetries == 0)
  20. {
  21. return 0;
  22. }
  23. return (1UL << attemptedRetries) * m_scaleFactor;
  24. }