Files
UnrealEngineUWP/Engine/Plugins/Compression/OodleNetwork/Source/Public/OodleNetworkFaultHandler.h
john barrett 0d282c2e3f Convert remaining Net Fault Handler enum LexToString's to FOREACH_ENUM_* format.
#rb trivial

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 20022655 via CL 20022658 via CL 20022684 via CL 20022691 via CL 20022700
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20023088 by john barrett in ue5-main branch]
2022-05-03 06:21:04 -04:00

67 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
// Includes
#include "Net/Core/Connection/NetResultManager.h"
#include "OodleNetworkFaultHandler.generated.h"
// Forward declarations
namespace UE
{
namespace Net
{
class FNetConnectionFaultRecoveryBase;
}
}
/**
* Oodle net error types, for NetConnection fault handling
*/
UENUM()
enum class EOodleNetResult : uint8
{
Unknown,
Success,
/** Oodle Packet decoding failed */
OodleDecodeFailed,
/** Oodle Packet payload serialization failed */
OodleSerializePayloadFail,
/** Oodle Packet decompressed length overflow */
OodleBadDecompressedLength,
/** Oodle Dictionary missing */
OodleNoDictionary
};
DECLARE_NETRESULT_ENUM(EOodleNetResult);
OODLENETWORKHANDLERCOMPONENT_API const TCHAR* LexToString(EOodleNetResult Enum);
/**
* Oodle Network Fault Handler - implements fault handling for Oodle net errors, tied to the main NetConnection fault recovery implementation
*/
class FOodleNetworkFaultHandler final : public UE::Net::FNetResultHandler
{
friend class OodleNetworkHandlerComponent;
private:
void InitFaultRecovery(UE::Net::FNetConnectionFaultRecoveryBase* InFaultRecovery);
virtual UE::Net::EHandleNetResult HandleNetResult(UE::Net::FNetResult&& InResult) override;
private:
/** The NetConnection FaultRecovery instance, which we forward fault counting to */
UE::Net::FNetConnectionFaultRecoveryBase* FaultRecovery = nullptr;
/** This fault handlers allocated counter index, within the NetConnection FaultRecovery instance */
int32 CounterIndex = INDEX_NONE;
};