You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#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]
67 lines
1.5 KiB
C++
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;
|
|
};
|