UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FHttpRetrySystem::FManager Class Reference

#include <HttpRetrySystem.h>

+ Inheritance diagram for FHttpRetrySystem::FManager:

Classes

class  FHttpLogVerbosityTracker
 
struct  FHttpRetryRequestEntry
 

Public Member Functions

HTTP_API FManager (const FRetryLimitCountSetting &InRetryLimitCountDefault, const FRetryTimeoutRelativeSecondsSetting &InRetryTimeoutRelativeSecondsDefault, const FRetryLimitCountSetting &InRetryLimitCountForConnectionErrorDefault=FRetryLimitCountSetting())
 
HTTP_API TSharedRef< class FHttpRetrySystem::FRequest, ESPMode::ThreadSafeCreateRequest (const FRetryLimitCountSetting &InRetryLimitCountOverride=FRetryLimitCountSetting(), const FRetryTimeoutRelativeSecondsSetting &InRetryTimeoutRelativeSecondsOverride=FRetryTimeoutRelativeSecondsSetting(), const FRetryResponseCodes &InRetryResponseCodes=FRetryResponseCodes(), const FRetryVerbs &InRetryVerbs=FRetryVerbs(), const FRetryDomainsPtr &InRetryDomains=FRetryDomainsPtr(), const FRetryLimitCountSetting &InRetryLimitCountForConnectionErrorOverride=FRetryLimitCountSetting(), const FExponentialBackoffCurve &InExponentialBackoffCurve=FExponentialBackoffCurve())
 
virtual HTTP_API ~FManager ()
 
void SetRandomFailureRate (float Value)
 
void SetDefaultRetryLimit (uint32 Value)
 
HTTP_API void BlockUntilFlushed (float TimeoutSec)
 
- Public Member Functions inherited from TSharedFromThis< FManager >
TSharedRef< FManager, Mode > AsShared ()
 
TSharedRef< FManager const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FManager, Mode > AsWeak ()
 
TWeakPtr< FManager const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Protected Member Functions

bool ProcessRequest (TSharedRef< FRequest, ESPMode::ThreadSafe > &HttpRequest)
 
void CancelRequest (TSharedRef< FRequest, ESPMode::ThreadSafe > &HttpRequest)
 
bool ShouldRetry (const FHttpRetryRequestEntry &HttpRetryRequestEntry) const
 
bool CanRetry (const FHttpRetryRequestEntry &HttpRetryRequestEntry) const
 
bool HasTimedOut (const FHttpRetryRequestEntry &HttpRetryRequestEntry, const double NowAbsoluteSeconds)
 
void RetryHttpRequest (FHttpRetryRequestEntry &RequestEntry)
 
void RetryHttpRequestWithDelay (FManager::FHttpRetryRequestEntry &RequestEntry, float InDelay, bool bWasSucceeded)
 
void HttpRequestTimeoutAfterDelay (FManager::FHttpRetryRequestEntry &RequestEntry, bool bWasSucceeded, float Delay)
 
float GetLockoutPeriodSeconds (const FHttpRetryRequestEntry &HttpRetryRequestEntry)
 
bool RetryLimitForConnectionErrorIsSet (const FHttpRetryRequestEntry &HttpRetryRequestEntry) const
 
bool CanRetryForConnectionError (const FHttpRetryRequestEntry &HttpRetryRequestEntry) const
 
bool CanRetryInGeneral (const FHttpRetryRequestEntry &HttpRetryRequestEntry) const
 
- Protected Member Functions inherited from TSharedFromThis< FManager >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Protected Attributes

FRandomFailureRateSetting RandomFailureRate
 
FRetryLimitCountSetting RetryLimitCountDefault
 
FRetryLimitCountSetting RetryLimitCountForConnectionErrorDefault
 
FRetryTimeoutRelativeSecondsSetting RetryTimeoutRelativeSecondsDefault
 
TArray< FHttpRetryRequestEntryRequestList
 
FCriticalSection RequestListLock
 

Friends

class FRequest
 

Additional Inherited Members

- Static Protected Member Functions inherited from TSharedFromThis< FManager >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Constructor & Destructor Documentation

◆ FManager()

FHttpRetrySystem::FManager::FManager ( const FRetryLimitCountSetting InRetryLimitCountDefault,
const FRetryTimeoutRelativeSecondsSetting InRetryTimeoutRelativeSecondsDefault,
const FRetryLimitCountSetting InRetryLimitCountForConnectionErrorDefault = FRetryLimitCountSetting() 
)

◆ ~FManager()

FHttpRetrySystem::FManager::~FManager ( )
virtual

Member Function Documentation

◆ BlockUntilFlushed()

void FHttpRetrySystem::FManager::BlockUntilFlushed ( float  TimeoutSec)

◆ CancelRequest()

void FHttpRetrySystem::FManager::CancelRequest ( TSharedRef< FRequest, ESPMode::ThreadSafe > &  HttpRequest)
protected

◆ CanRetry()

bool FHttpRetrySystem::FManager::CanRetry ( const FHttpRetryRequestEntry HttpRetryRequestEntry) const
protected

◆ CanRetryForConnectionError()

bool FHttpRetrySystem::FManager::CanRetryForConnectionError ( const FHttpRetryRequestEntry HttpRetryRequestEntry) const
protected

◆ CanRetryInGeneral()

bool FHttpRetrySystem::FManager::CanRetryInGeneral ( const FHttpRetryRequestEntry HttpRetryRequestEntry) const
protected

◆ CreateRequest()

TSharedRef< FHttpRetrySystem::FRequest, ESPMode::ThreadSafe > FHttpRetrySystem::FManager::CreateRequest ( const FRetryLimitCountSetting InRetryLimitCountOverride = FRetryLimitCountSetting(),
const FRetryTimeoutRelativeSecondsSetting InRetryTimeoutRelativeSecondsOverride = FRetryTimeoutRelativeSecondsSetting(),
const FRetryResponseCodes InRetryResponseCodes = FRetryResponseCodes(),
const FRetryVerbs InRetryVerbs = FRetryVerbs(),
const FRetryDomainsPtr InRetryDomains = FRetryDomainsPtr(),
const FRetryLimitCountSetting InRetryLimitCountForConnectionErrorOverride = FRetryLimitCountSetting(),
const FExponentialBackoffCurve InExponentialBackoffCurve = FExponentialBackoffCurve() 
)

Create a new http request with retries

◆ GetLockoutPeriodSeconds()

float FHttpRetrySystem::FManager::GetLockoutPeriodSeconds ( const FHttpRetryRequestEntry HttpRetryRequestEntry)
protected

◆ HasTimedOut()

bool FHttpRetrySystem::FManager::HasTimedOut ( const FHttpRetryRequestEntry HttpRetryRequestEntry,
const double  NowAbsoluteSeconds 
)
protected

◆ HttpRequestTimeoutAfterDelay()

void FHttpRetrySystem::FManager::HttpRequestTimeoutAfterDelay ( FManager::FHttpRetryRequestEntry RequestEntry,
bool  bWasSucceeded,
float  Delay 
)
protected

◆ ProcessRequest()

bool FHttpRetrySystem::FManager::ProcessRequest ( TSharedRef< FRequest, ESPMode::ThreadSafe > &  HttpRequest)
protected

◆ RetryHttpRequest()

void FHttpRetrySystem::FManager::RetryHttpRequest ( FHttpRetryRequestEntry RequestEntry)
protected

Retry an HTTP request

Parameters
RequestEntryrequest to retry

◆ RetryHttpRequestWithDelay()

void FHttpRetrySystem::FManager::RetryHttpRequestWithDelay ( FManager::FHttpRetryRequestEntry RequestEntry,
float  InDelay,
bool  bWasSucceeded 
)
protected

Retry an HTTP request with delay

Parameters
RequestEntryrequest retry
InDelaythe delay to wait before retrying
bWasSucceededwas the request succeeded before retry

◆ RetryLimitForConnectionErrorIsSet()

bool FHttpRetrySystem::FManager::RetryLimitForConnectionErrorIsSet ( const FHttpRetryRequestEntry HttpRetryRequestEntry) const
protected

◆ SetDefaultRetryLimit()

void FHttpRetrySystem::FManager::SetDefaultRetryLimit ( uint32  Value)
inline

◆ SetRandomFailureRate()

void FHttpRetrySystem::FManager::SetRandomFailureRate ( float  Value)
inline

◆ ShouldRetry()

bool FHttpRetrySystem::FManager::ShouldRetry ( const FHttpRetryRequestEntry HttpRetryRequestEntry) const
protected

Friends And Related Symbol Documentation

◆ FRequest

friend class FRequest
friend

Member Data Documentation

◆ RandomFailureRate

FRandomFailureRateSetting FHttpRetrySystem::FManager::RandomFailureRate
protected

◆ RequestList

TArray<FHttpRetryRequestEntry> FHttpRetrySystem::FManager::RequestList
protected

◆ RequestListLock

FCriticalSection FHttpRetrySystem::FManager::RequestListLock
protected

◆ RetryLimitCountDefault

FRetryLimitCountSetting FHttpRetrySystem::FManager::RetryLimitCountDefault
protected

◆ RetryLimitCountForConnectionErrorDefault

FRetryLimitCountSetting FHttpRetrySystem::FManager::RetryLimitCountForConnectionErrorDefault
protected

◆ RetryTimeoutRelativeSecondsDefault

FRetryTimeoutRelativeSecondsSetting FHttpRetrySystem::FManager::RetryTimeoutRelativeSecondsDefault
protected

The documentation for this class was generated from the following files: