Navigation
API > API/Runtime > API/Runtime/NetCore
Manages initialization/application of escalation states for the specified escalation state type, and allocation/tracking of the specified counters/timers used to calculate state change quotas/thresholds.
The different counter types are specified in sequential order in the 'CountersEnum' enum, followed by a final/unused Max value.
| Name | TEscalationManager |
| Type | class |
| Header File | /Engine/Source/Runtime/Net/Core/Public/Net/Core/Connection/EscalationStates.h |
| Include Path | #include "Net/Core/Connection/EscalationStates.h" |
Syntax
template<typename CountersEnum, typename EscalationStateType, typename CounterCategoriesEnum>
class TEscalationManager : public UE::Net::FEscalationManager
Inheritance Hierarchy
- FEscalationManager → TEscalationManager
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TEscalationManager() |
Base constructor | Net/Core/Connection/EscalationStates.h |
Structs
| Name | Remarks |
|---|---|
| CHasEnumPreallocNum |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TNum | int32 | The number of static counters in the specified enum (Max must come after the last static counter) | Net/Core/Connection/EscalationStates.h |
| TNumCategories | int32 | The number of categories in the counter categories enum | Net/Core/Connection/EscalationStates.h |
| TNumPrealloc | int32 | The number of counters to preallocate inline, for newly added counters | Net/Core/Connection/EscalationStates.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CountersPerPeriodAlloc | TArray< FEscalationCounter, TInlineAllocator< TNumPrealloc *(sizeof(UEArrayCountHelper(CountersPerPeriodHistory)) - 1) > > | Net/Core/Connection/EscalationStates.h | ||
| FrameCountersAlloc | TArray< FEscalationCounter, TInlineAllocator< TNumPrealloc > > | Net/Core/Connection/EscalationStates.h | ||
| RegisteredCountersAlloc | TArray< int32, TInlineAllocator< TNumPrealloc > > | Net/Core/Connection/EscalationStates.h | ||
| RegisteredCountersCacheAlloc | TArrayView< int32 > | Net/Core/Connection/EscalationStates.h | ||
| SecondCountersAlloc | TArray< FEscalationCounter, TInlineAllocator< TNumPrealloc > > | Net/Core/Connection/EscalationStates.h | ||
| StateAlloc | EscalationStateType | Inline allocation of state and other variables, for cache locality | Net/Core/Connection/EscalationStates.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AddNewCounter
(
int32 Count |
Dynamically adds a new counter not specified in CountersEnum, and returns its index. | Net/Core/Connection/EscalationStates.h | |
void Init
(
FString ConfigContext |
Initializes the escalation manager | Net/Core/Connection/EscalationStates.h | |
void RegisterCounterCategory
(
int32 CategoryIndex, |
Registers a counter for automatic processing under the specified counter category, as set by CounterCategoriesEnum (each category can implement a different type of custom processing, in HasHitAnyQuota) | Net/Core/Connection/EscalationStates.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static int32 GetCounterNumPrealloc () |
'typename = typename TEnableIf' does not work here, unusually | Net/Core/Connection/EscalationStates.h | |
static int32 GetCounterNumPrealloc () |
Net/Core/Connection/EscalationStates.h |