8#include <aws/core/Core_EXPORTS.h>
9#include <aws/core/utils/threading/ReaderWriterLock.h>
21 template<
typename R,
typename E>
30 template<
typename ERROR_TYPE>
virtual ~DefaultRetryQuotaContainer()=default
virtual bool AcquireRetryQuota(const AWSError< CoreErrors > &error) override
virtual void ReleaseRetryQuota(int capacityAmount) override
Aws::Utils::Threading::ReaderWriterLock m_retryQuotaLock
DefaultRetryQuotaContainer()
virtual bool AcquireRetryQuota(int capacityAmount) override
virtual void ReleaseRetryQuota(const AWSError< CoreErrors > &lastError) override
virtual int GetRetryQuota() const override
virtual void ReleaseRetryQuota(int capacityAmount)=0
virtual bool AcquireRetryQuota(const AWSError< CoreErrors > &error)=0
virtual bool AcquireRetryQuota(int capacityAmount)=0
virtual int GetRetryQuota() const =0
virtual ~RetryQuotaContainer()=default
virtual void ReleaseRetryQuota(const AWSError< CoreErrors > &lastError)=0
virtual ~RetryStrategy()=default
virtual void RequestBookkeeping(const HttpResponseOutcome &, const AWSError< CoreErrors > &)
virtual bool ShouldRetry(const AWSError< CoreErrors > &error, long attemptedRetries) const =0
virtual bool HasSendToken()
virtual long CalculateDelayBeforeNextRetry(const AWSError< CoreErrors > &error, long attemptedRetries) const =0
virtual void GetSendToken()
virtual long GetMaxAttempts() const
virtual const char * GetStrategyName() const
virtual void RequestBookkeeping(const HttpResponseOutcome &)
std::shared_ptr< RetryQuotaContainer > m_retryQuotaContainer
virtual void RequestBookkeeping(const HttpResponseOutcome &httpResponseOutcome) override
virtual void RequestBookkeeping(const HttpResponseOutcome &httpResponseOutcome, const AWSError< CoreErrors > &lastError) override
virtual bool ShouldRetry(const AWSError< CoreErrors > &error, long attemptedRetries) const override
virtual long CalculateDelayBeforeNextRetry(const AWSError< CoreErrors > &error, long attemptedRetries) const override
const char * GetStrategyName() const override
StandardRetryStrategy(std::shared_ptr< RetryQuotaContainer > retryQuotaContainer, long maxAttempts=3)
StandardRetryStrategy(long maxAttempts=3)
virtual long GetMaxAttempts() const override
static const int NO_RETRY_INCREMENT
Utils::Outcome< std::shared_ptr< Aws::Http::HttpResponse >, AWSError< CoreErrors > > HttpResponseOutcome