5#include "Containers/Array.h"
6#include "Containers/Queue.h"
42 class FNetConnectionFaultRecoveryBase;
421 PacketView.Traits.bConnectionlessPacket =
true;
450 UE_DEPRECATED(4.26,
"Incoming_Internal now uses FReceivedPacketView")
650 UE_DEPRECATED(5.6,
"PacketHandler AddComponent delegates are deprecated, use [PacketHandlerComponents] section in .ini file")
658 UE::Handler::State State;
664 uint8 bBeganHandshaking:1;
667 uint8 bConnectionlessHandler:1;
767 return bRequiresHandshake;
775 return bRequiresReliability;
864 virtual void Tick(
float DeltaTime) {}
OODEFFUNC typedef const char * file
Definition oodle2.h:678
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
EIncomingResult
Definition PacketHandler.h:244
PACKETHANDLER_API bool GPacketHandlerDiscardTimeguardMeasurement
Definition PacketHandler.cpp:43
Definition Archive.h:1208
virtual void CountBytes(SIZE_T InNum, SIZE_T InMax)
Definition Archive.h:125
Definition DDoSDetection.h:173
Definition EncryptionComponent.h:14
Definition IPAddress.h:22
Definition NameTypes.h:617
Definition NetAnalytics.h:324
Definition PacketHandler.h:940
virtual TSharedPtr< HandlerComponent > CreateComponentInstance(FString &Options)
Definition PacketHandler.h:943
Definition PacketHandler.h:728
PacketHandler * Handler
Definition PacketHandler.h:910
bool bRequiresReliability
Definition PacketHandler.h:923
virtual void NotifyHandshakeBegin()
Definition PacketHandler.h:857
virtual void InitFaultRecovery(UE::Net::FNetConnectionFaultRecoveryBase *InFaultRecovery)
Definition PacketHandler.h:850
virtual void Incoming(FIncomingPacketRef PacketRef)
Definition PacketHandler.h:789
virtual void IncomingConnectionless(FIncomingPacketRef PacketRef)
Definition PacketHandler.h:812
bool bRequiresHandshake
Definition PacketHandler.h:920
bool RequiresHandshake() const
Definition PacketHandler.h:765
FName GetName() const
Definition PacketHandler.h:884
virtual void Incoming(FBitReader &Packet)
Definition PacketHandler.h:780
virtual void Tick(float DeltaTime)
Definition PacketHandler.h:864
virtual PACKETHANDLER_API ~HandlerComponent()
virtual void OutgoingConnectionless(const TSharedPtr< const FInternetAddr > &Address, FBitWriter &Packet, FOutPacketTraits &Traits)
Definition PacketHandler.h:823
uint32 MaxOutgoingBits
Definition PacketHandler.h:917
virtual bool CanReadUnaligned() const
Definition PacketHandler.h:834
UE::Handler::Component::State State
Definition PacketHandler.h:914
virtual void Outgoing(FBitWriter &Packet, FOutPacketTraits &Traits)
Definition PacketHandler.h:803
bool RequiresReliability() const
Definition PacketHandler.h:773
virtual void Initialize()=0
virtual void NotifyAnalyticsProvider()
Definition PacketHandler.h:890
virtual int32 GetReservedPacketBits() const =0
virtual bool IsValid() const =0
Definition IAnalyticsProvider.h:52
Definition ModuleInterface.h:14
Definition PacketHandler.Build.cs:7
PACKETHANDLER_API void NotifyAnalyticsProvider(TSharedPtr< IAnalyticsProvider > InProvider, TSharedPtr< FNetAnalyticsAggregator > InAggregator)
Definition PacketHandler.cpp:258
void QueueHandlerPacketForSending(BufferedPacket *PacketToQueue)
Definition PacketHandler.h:525
void SetRawSend(bool bInEnabled)
Definition PacketHandler.h:582
const ProcessedPacket Incoming_Internal(uint8 *Packet, int32 CountBytes, bool bConnectionless, const TSharedPtr< const FInternetAddr > &Address)
Definition PacketHandler.h:451
PACKETHANDLER_API BufferedPacket * GetQueuedPacket()
Definition PacketHandler.cpp:1164
FDDoSDetection * GetDDoS() const
Definition PacketHandler.h:604
PACKETHANDLER_API TSharedPtr< FEncryptionComponent > GetEncryptionComponent()
Definition PacketHandler.cpp:479
bool IsFullyInitialized()
Definition PacketHandler.h:598
PACKETHANDLER_API void CountBytes(FArchive &Ar) const
Definition PacketHandler.cpp:497
PACKETHANDLER_API void InitFaultRecovery(UE::Net::FNetConnectionFaultRecoveryBase *InFaultRecovery)
Definition PacketHandler.cpp:250
static PACKETHANDLER_API bool DoesAnyProfileHaveComponent(const FString &InComponentName)
Definition PacketHandler.cpp:1130
PACKETHANDLER_API void HandlerComponentInitialized(HandlerComponent *InComponent)
Definition PacketHandler.cpp:1088
PACKETHANDLER_API TSharedPtr< HandlerComponent > GetComponentByName(FName ComponentName) const
Definition PacketHandler.cpp:484
static PACKETHANDLER_API FPacketHandlerAddComponentDelegate & GetAddComponentDelegate()
Definition PacketHandler.cpp:159
PACKETHANDLER_API void InitializeDelegates(FPacketHandlerLowLevelSendTraits InLowLevelSendDel, FPacketHandlerNotifyAddHandler InAddHandlerDel=FPacketHandlerNotifyAddHandler())
Definition PacketHandler.cpp:243
PACKETHANDLER_API BufferedPacket * GetQueuedConnectionlessPacket()
Definition PacketHandler.cpp:1182
EIncomingResult IncomingConnectionless(FReceivedPacketView &PacketView)
Definition PacketHandler.h:419
const ProcessedPacket Incoming(uint8 *Packet, int32 CountBytes)
Definition PacketHandler.h:362
EIncomingResult Incoming(FReceivedPacketView &PacketView)
Definition PacketHandler.h:379
PACKETHANDLER_API void IncomingHigh(FBitReader &Reader)
Definition PacketHandler.cpp:469
TSharedPtr< IAnalyticsProvider > GetProvider() const
Definition PacketHandler.h:607
const ProcessedPacket Outgoing(uint8 *Packet, int32 CountBits, FOutPacketTraits &Traits)
Definition PacketHandler.h:395
bool GetRawSend()
Definition PacketHandler.h:590
PACKETHANDLER_API void BeginHandshaking(FPacketHandlerHandshakeComplete InHandshakeDel=FPacketHandlerHandshakeComplete())
Definition PacketHandler.cpp:303
static PACKETHANDLER_API bool DoesProfileHaveComponent(const FName InNetDriverName, const FString &InComponentName)
Definition PacketHandler.cpp:1148
PACKETHANDLER_API void OutgoingHigh(FBitWriter &Writer)
Definition PacketHandler.cpp:474
UE::Handler::Mode Mode
Definition PacketHandler.h:648
PACKETHANDLER_API void InitializeComponents()
Definition PacketHandler.cpp:275
void QueuePacketForRawSending(BufferedPacket *PacketToQueue)
Definition PacketHandler.h:515
const ProcessedPacket OutgoingConnectionless(const TSharedPtr< const FInternetAddr > &Address, uint8 *Packet, int32 CountBits, FOutPacketTraits &Traits)
Definition PacketHandler.h:436
PACKETHANDLER_API BufferedPacket * GetQueuedRawPacket()
Definition PacketHandler.cpp:1173
PACKETHANDLER_API const ProcessedPacket Outgoing_Internal(uint8 *Packet, int32 CountBits, FOutPacketTraits &Traits, bool bConnectionless, const TSharedPtr< const FInternetAddr > &Address)
Definition PacketHandler.cpp:728
TSharedPtr< FNetAnalyticsAggregator > GetAggregator() const
Definition PacketHandler.h:610
PACKETHANDLER_API void SendHandlerPacket(HandlerComponent *InComponent, FBitWriter &Writer, FOutPacketTraits &Traits)
Definition PacketHandler.cpp:939
PACKETHANDLER_API void AddHandler(TSharedPtr< HandlerComponent > &NewHandler, bool bDeferInitialize=false)
Definition PacketHandler.cpp:323
const ProcessedPacket IncomingConnectionless(const TSharedPtr< const FInternetAddr > &Address, uint8 *Packet, int32 CountBytes)
Definition PacketHandler.h:404
PACKETHANDLER_API int32 GetTotalReservedPacketBits()
Definition PacketHandler.cpp:1191
static PACKETHANDLER_API FPacketHandlerAddComponentByNameDelegate & GetAddComponentByNameDelegate()
Definition PacketHandler.cpp:153
Definition ReliabilityHandlerComponent.Build.cs:7
bool Enqueue(const FElementType &Item)
Definition Queue.h:123
Definition SharedPointer.h:692
@ Bytes
Definition PacketView.h:39
State
Definition PacketHandler.h:109
State
Definition PacketHandler.h:88
Mode
Definition PacketHandler.h:98
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition PacketHandler.h:156
uint32 CountBits
Definition PacketHandler.h:161
uint8 * Data
Definition PacketHandler.h:158
TSharedPtr< const FInternetAddr > Address
Definition PacketHandler.h:173
double ResendTime
Definition PacketHandler.h:167
PACKETHANDLER_API ~BufferedPacket()
Definition PacketHandler.cpp:92
HandlerComponent * FromComponent
Definition PacketHandler.h:176
uint32 Id
Definition PacketHandler.h:170
void CountBytes(FArchive &Ar) const
Definition PacketHandler.h:219
FOutPacketTraits Traits
Definition PacketHandler.h:164
BufferedPacket(TSharedPtr< const FInternetAddr > InAddress, uint8 *InCopyData, uint32 InCountBits, FOutPacketTraits &InTraits, double InResendTime=0.0, uint32 InId=0)
Definition PacketHandler.h:208
BufferedPacket(uint8 *InCopyData, uint32 InCountBits, FOutPacketTraits &InTraits, double InResendTime=0.0, uint32 InId=0)
Definition PacketHandler.h:194
Definition BitReader.h:25
Definition BitWriter.h:22
Definition PacketTraits.h:47
Definition PacketHandler.h:230
FInPacketTraits & Traits
Definition PacketHandler.h:238
FBitReader & Packet
Definition PacketHandler.h:232
const TSharedPtr< const FInternetAddr > & Address
Definition PacketHandler.h:235
static constexpr UE_FORCEINLINE_HINT T DivideAndRoundUp(T Dividend, T Divisor)
Definition UnrealMathUtility.h:694
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition PacketTraits.h:21
Definition PacketView.h:113
FPacketDataView DataView
Definition PacketView.h:115
Definition PacketHandler.h:123
bool bError
Definition PacketHandler.h:131
uint8 * Data
Definition PacketHandler.h:125
ProcessedPacket(uint8 *InData, int32 InCountBits, bool bInError=false)
Definition PacketHandler.h:144
int32 CountBits
Definition PacketHandler.h:128
ProcessedPacket()
Definition PacketHandler.h:134