LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
FLootLockerHTTPClientConfiguration Struct Reference

Configuration for the LootLocker HTTP execution queue and retry logic. More...

#include <LootLockerHTTPClientConfiguration.h>

Public Member Functions

 FLootLockerHTTPClientConfiguration ()=default
 

Data Fields

int32 MaxRetries = 5
 Maximum number of times a failed request will be retried before the error is returned to the caller.
 
int32 IncrementalBackoffFactor = 2
 Multiplicative factor applied to the wait time between each successive retry attempt (exponential back-off).
 
int32 InitialRetryWaitTimeMs = 50
 Base wait time in milliseconds before the first retry attempt.
 
int32 MaxOngoingRequests = 50
 Maximum number of HTTP requests that may be in-flight (awaiting a server response) at the same time.
 
int32 MaxQueueSize = 5000
 Maximum number of requests allowed to sit in the pending queue.
 
int32 ChokeWarningThreshold = 500
 Pending-queue depth at which a warning is emitted to alert that the HTTP client is approaching capacity.
 
int32 RequestTimeoutSeconds = 300
 Client-side request timeout in seconds.
 
bool DenyIncomingRequestsWhenBackedUp = true
 When true, incoming requests are immediately rejected (with a synthetic error response) while the pending queue is at or above MaxQueueSize.
 
bool LogQueueRejections
 When true, rejections caused by queue-capacity limits are written to the log.
 
float ChokeWarningLogIntervalSeconds = 2.0f
 Minimum interval in seconds between consecutive choke-warning log entries.
 
float SlowListenerWarningThresholdMs = 16.0f
 Wall-clock threshold in milliseconds above which a warning is emitted if a single response listener takes too long to execute.
 

Detailed Description

Configuration for the LootLocker HTTP execution queue and retry logic.

Construct an instance with custom values and pass it to ULootLockerHttpClient::OverrideConfiguration() to tune the SDK's HTTP behaviour at runtime.

Constructor & Destructor Documentation

◆ FLootLockerHTTPClientConfiguration()

FLootLockerHTTPClientConfiguration::FLootLockerHTTPClientConfiguration ( )
default

Field Documentation

◆ ChokeWarningLogIntervalSeconds

float FLootLockerHTTPClientConfiguration::ChokeWarningLogIntervalSeconds = 2.0f

Minimum interval in seconds between consecutive choke-warning log entries.

Prevents the log from being flooded when the queue is consistently backed up over many ticks. Only applies in editor builds (where LogQueueRejections is checked).

◆ ChokeWarningThreshold

int32 FLootLockerHTTPClientConfiguration::ChokeWarningThreshold = 500

Pending-queue depth at which a warning is emitted to alert that the HTTP client is approaching capacity.

◆ DenyIncomingRequestsWhenBackedUp

bool FLootLockerHTTPClientConfiguration::DenyIncomingRequestsWhenBackedUp = true

When true, incoming requests are immediately rejected (with a synthetic error response) while the pending queue is at or above MaxQueueSize.

When false, new requests continue to be accepted regardless of queue depth.

◆ IncrementalBackoffFactor

int32 FLootLockerHTTPClientConfiguration::IncrementalBackoffFactor = 2

Multiplicative factor applied to the wait time between each successive retry attempt (exponential back-off).

Example: with InitialRetryWaitTimeMs=50 and IncrementalBackoffFactor=2 the delays are 50 ms → 100 ms → 200 ms → 400 ms → …

◆ InitialRetryWaitTimeMs

int32 FLootLockerHTTPClientConfiguration::InitialRetryWaitTimeMs = 50

Base wait time in milliseconds before the first retry attempt.

See IncrementalBackoffFactor for how subsequent delays are computed.

◆ LogQueueRejections

bool FLootLockerHTTPClientConfiguration::LogQueueRejections
Initial value:
=
false

When true, rejections caused by queue-capacity limits are written to the log.

Defaults to true in editor builds, false otherwise to reduce log noise in shipping.

◆ MaxOngoingRequests

int32 FLootLockerHTTPClientConfiguration::MaxOngoingRequests = 50

Maximum number of HTTP requests that may be in-flight (awaiting a server response) at the same time.

Requests beyond this limit are held in the pending queue.

◆ MaxQueueSize

int32 FLootLockerHTTPClientConfiguration::MaxQueueSize = 5000

Maximum number of requests allowed to sit in the pending queue.

New requests submitted while the queue is at capacity are rejected immediately when DenyIncomingRequestsWhenBackedUp is true.

◆ MaxRetries

int32 FLootLockerHTTPClientConfiguration::MaxRetries = 5

Maximum number of times a failed request will be retried before the error is returned to the caller.

◆ RequestTimeoutSeconds

int32 FLootLockerHTTPClientConfiguration::RequestTimeoutSeconds = 300

Client-side request timeout in seconds.

If the server has not responded within this time, the request is cancelled and reported as timed out.

◆ SlowListenerWarningThresholdMs

float FLootLockerHTTPClientConfiguration::SlowListenerWarningThresholdMs = 16.0f

Wall-clock threshold in milliseconds above which a warning is emitted if a single response listener takes too long to execute.

Listeners run on the game thread inside Tick(). Heavy work inside a callback (asset loading, synchronous I/O, complex computation) will stall the game thread for every frame it occupies. This threshold gives developers an early warning when that happens.

Set to 0 to disable the check. Defaults to 16 ms (one frame at 60 fps).