Loading...
Searching...
No Matches
AccelByte::FHttpRetryScheduler Class Reference
Inheritance diagram for AccelByte::FHttpRetryScheduler:

Public Member Functions

 FHttpRetryScheduler (const SettingsWPtr InSettingsWeak)
virtual void InitializeRateLimit () override
virtual FAccelByteTaskPtr ProcessRequest (FHttpRequestPtr Request, const FHttpRequestCompleteDelegate &CompleteDelegate, double RequestTime) override
virtual FAccelByteTaskPtr ProcessRequest (FHttpRequestPtr Request, TSharedPtr< FJsonObject > Content, const FHttpRequestCompleteDelegate &CompleteDelegate, double RequestTime, bool bOmitBlankValues=false) override
virtual void SetBearerAuthRejectedDelegate (FBearerAuthRejected const &BearerAuthRejected) override
virtual FDelegateHandle AddBearerAuthRejectedDelegate (FBearerAuthRejected const &BearerAuthRejected) override
virtual bool RemoveBearerAuthRejectedDelegate (FDelegateHandle const &BearerAuthRejectedHandle) override
virtual void BearerAuthRejected () override
virtual void PauseBearerAuthRequest () override
virtual void ResumeBearerAuthRequest (const FString &AccessToken) override
virtual FDelegateHandle AddBearerAuthRefreshedDelegate (FBearerAuthRefreshed const &BearerAuthRefreshed) override
virtual bool RemoveBearerAuthRefreshedDelegate (FDelegateHandle const &BearerAuthRefreshedHandle) override
virtual void Startup () override
virtual void Shutdown () override
virtual bool PollRetry (double Time) override
virtual Core::FAccelByteHttpCacheGetHttpCache () override
Public Member Functions inherited from AccelByte::FHttpRetrySchedulerBase
 DECLARE_DELEGATE (FBearerAuthRejected)
 DECLARE_MULTICAST_DELEGATE (FBearerAuthRejectedMulticast)
 DECLARE_DELEGATE_OneParam (FBearerAuthRefreshed, FString const &)
 DECLARE_MULTICAST_DELEGATE_OneParam (FBearerAuthRefreshedMulticast, FString const &)
 DECLARE_DELEGATE_RetVal_OneParam (EAccelByteTaskState, FHttpResponseCodeHandler, int32)
 A delegate to handle specified HTTP status code when the HTTP request succeeded and then will return a task state as the next command for the scheduler to do various things on the task that track the HTTP request.

Protected Types

enum class  EState { Uninitialized , Initialized , Paused , ShuttingDown }

Protected Member Functions

FString ParseUStructToJsonString (const TSharedPtr< FJsonObject > &JsonObject, bool bOmitBlankValues=false)
bool Tick (float DeltaTime)
void SetState (EState NewState) noexcept
EState GetState () const noexcept

Protected Attributes

FRWLock TaskQueueMtx
TQueue< FAccelByteTaskPtr, EQueueMode::Mpsc > TaskQueue {}
FDelegateHandleAlias PollRetryHandle {}

Additional Inherited Members

Static Public Member Functions inherited from AccelByte::FHttpRetrySchedulerBase
static void SetHttpResponseCodeHandlerDelegate (EHttpResponseCodes::Type StatusCode, const FHttpResponseCodeHandler &Handler)
static bool RemoveHttpResponseCodeHandlerDelegate (EHttpResponseCodes::Type StatusCode)
static TMap< EHttpResponseCodes::Type, FHttpResponseCodeHandler > GetHttpResponseCodeHandlerDelegate ()
static void SetHeaderNamespace (const FString &Value)
static void SetHeaderSDKVersion (const FString &Value)
static void SetHeaderOSSVersion (const FString &Value)
static void SetHeaderGameClientVersion (const FString &Value)
Static Public Attributes inherited from AccelByte::FHttpRetrySchedulerBase
static int InitialDelay = 1
static int MaximumDelay = 30
static int TotalTimeout = 10
static int TotalTimeoutIncludingRetries = 60
static int PauseTimeout = 60
static constexpr uint32 DefaultRateLimit = 6
Static Protected Attributes inherited from AccelByte::FHttpRetrySchedulerBase
static TMap< EHttpResponseCodes::Type, FHttpResponseCodeHandler > ResponseCodeDelegates {}
static FString HeaderNamespace = TEXT("")
static FString HeaderSDKVersion = TEXT("")
static FString HeaderOSSVersion = TEXT("")
static FString HeaderGameClientVersion = TEXT("")
static int32 RateLimit = FHttpRetrySchedulerBase::DefaultRateLimit

Member Function Documentation

◆ AddBearerAuthRefreshedDelegate()

FDelegateHandle AccelByte::FHttpRetryScheduler::AddBearerAuthRefreshedDelegate ( FBearerAuthRefreshed const & BearerAuthRefreshed)
overridevirtual

◆ AddBearerAuthRejectedDelegate()

FDelegateHandle AccelByte::FHttpRetryScheduler::AddBearerAuthRejectedDelegate ( FBearerAuthRejected const & BearerAuthRejected)
overridevirtual

◆ BearerAuthRejected()

void AccelByte::FHttpRetryScheduler::BearerAuthRejected ( )
overridevirtual

◆ GetHttpCache()

virtual Core::FAccelByteHttpCache & AccelByte::FHttpRetryScheduler::GetHttpCache ( )
inlineoverridevirtual

◆ InitializeRateLimit()

void AccelByte::FHttpRetryScheduler::InitializeRateLimit ( )
overridevirtual

◆ PauseBearerAuthRequest()

void AccelByte::FHttpRetryScheduler::PauseBearerAuthRequest ( )
overridevirtual

◆ PollRetry()

bool AccelByte::FHttpRetryScheduler::PollRetry ( double Time)
overridevirtual

◆ ProcessRequest() [1/2]

FAccelByteTaskPtr AccelByte::FHttpRetryScheduler::ProcessRequest ( FHttpRequestPtr Request,
const FHttpRequestCompleteDelegate & CompleteDelegate,
double RequestTime )
overridevirtual

◆ ProcessRequest() [2/2]

FAccelByteTaskPtr AccelByte::FHttpRetryScheduler::ProcessRequest ( FHttpRequestPtr Request,
TSharedPtr< FJsonObject > Content,
const FHttpRequestCompleteDelegate & CompleteDelegate,
double RequestTime,
bool bOmitBlankValues = false )
overridevirtual

◆ RemoveBearerAuthRefreshedDelegate()

bool AccelByte::FHttpRetryScheduler::RemoveBearerAuthRefreshedDelegate ( FDelegateHandle const & BearerAuthRefreshedHandle)
overridevirtual

◆ RemoveBearerAuthRejectedDelegate()

bool AccelByte::FHttpRetryScheduler::RemoveBearerAuthRejectedDelegate ( FDelegateHandle const & BearerAuthRejectedHandle)
overridevirtual

◆ ResumeBearerAuthRequest()

void AccelByte::FHttpRetryScheduler::ResumeBearerAuthRequest ( const FString & AccessToken)
overridevirtual

◆ SetBearerAuthRejectedDelegate()

void AccelByte::FHttpRetryScheduler::SetBearerAuthRejectedDelegate ( FBearerAuthRejected const & BearerAuthRejected)
overridevirtual

◆ Shutdown()

void AccelByte::FHttpRetryScheduler::Shutdown ( )
overridevirtual

◆ Startup()

void AccelByte::FHttpRetryScheduler::Startup ( )
overridevirtual