className: EAESGCMNetResult

description: AESGCM net error types, for NetConnection fault handling

module: AESGCMHandlerComponent

code: enum EAESGCMNetResult { Unknown, Success, AESMissingIV, AESMissingAuthTag, AESMissingPayload, AESDecryptionFailed, AESZeroLastByte, }


className: FAESGCMFaultHandler

description: AESGCM Fault Handler - implements fault handling for AESGCM net errors, tied to the main NetConnection fault recovery implementation

code: class FAESGCMFaultHandler : public [UE::Net::FNetResultHandler](API\Runtime\NetCore\Net\Core\Connection\FNetResultHandler)


className: AuthTagSizeInBytes

code: static const int32 AuthTagSizeInBytes = 16;


className: BlockSizeInBytes

description: This handler uses AES256, which has 32-byte keys.

code: static const int32 BlockSizeInBytes = 16;


code: virtual void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description: After calling this, future outgoing packets will not be encrypted (until a call to DisableEncryption).

code: virtual void DisableEncryption()


description: After calling this, future outgoing packets will be encrypted (until a call to DisableEncryption).

code: virtual void EnableEncryption()


description:
IMPORTANT: This MUST be accurate, and should represent the worst-case number of reserved bits expected from the component. If this is inaccurate, packets will randomly fail to send, in rare cases which are extremely hard to trace.
The worst-case reserved packet bits for the component

code: virtual int32 GetReservedPacketBits() const


description: Handles incoming packets

code: virtual void Incoming ( [FIncomingPacketRef](API\Runtime\PacketHandler\FIncomingPacketRef) PacketRef )


description: Initializes a reference to the NetConnection fault recovery interface (does not require Engine dependency)

code: virtual void InitFaultRecovery ( [UE::Net::FNetConnectionFaultRecoveryBase](API\Runtime\NetCore\Net\Core\Connection\FNetConnectionFaultRecoveryBase) * InFaultRecovery )


description: Initialization functionality should be placed here

code: virtual void Initialize()


description: Returns true if encryption is currently enabled.

code: virtual bool IsEncryptionEnabled() const


description: Return whether this handler is valid

code: virtual bool IsValid() const


className: IVSizeInBytes

code: static const int32 IVSizeInBytes = 12;


className: KeySizeInBytes

code: static const int32 KeySizeInBytes = 32;


description: Handles any outgoing packets

code: virtual void Outgoing ( [FBitWriter](API\Runtime\Core\Serialization\FBitWriter) & Packet, [FOutPacketTraits](API\Runtime\NetCommon\Net\Common\Packets\FOutPacketTraits) & Traits )


description: Replace the key used for encryption with NewKey if NewKey is exactly KeySizeInBytes long.

code: virtual void SetEncryptionData ( const [FEncryptionData](API\Runtime\CoreUObject\UObject\FEncryptionData) & EncryptionData )


description: Default constructor that leaves the Key empty, and encryption disabled. You must set the key before enabling encryption, or before receiving encrypted packets, or those operations will fail.

code: FAESGCMHandlerComponent()


className: FAESGCMHandlerComponent

description: AES256 GCM block encryption component.

code: class FAESGCMHandlerComponent : public [FEncryptionComponent](API\Runtime\PacketHandler\FEncryptionComponent)


description: Creates an instance of this component

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent) > CreateComponentInstance ( [FString](API\Runtime\Core\Containers\FString) & Options )


className: FAESGCMHandlerComponentModule

description: The public interface to this module.

code: class FAESGCMHandlerComponentModule : public [FPacketHandlerComponentModuleInterface](API\Runtime\PacketHandler\FPacketHandlerComponentModuleInt-)


className: LexToString

code: const TCHAR * LexToString ( [EAESGCMNetResult](API\Plugins\AESGCMHandlerComponent\EAESGCMNetResult) Enum )


code: namespace UE { namespace Net { [FNetResult](API\Runtime\NetCore\Net\Core\Connection\FNetResult) UE::Net::AddToAndConsumeChainResultPtr ( [TPimplPtr](API\Runtime\Core\Templates\TPimplPtr)< [FNetResult](API\Runtime\NetCore\Net\Core\Connection\FNetResult), EPimplPtrMode::DeepCopy > & ResultPtr, [TNetResult](API\Runtime\NetCore\Net\Core\Connection\TNetResult)< [EAESGCMNetResult](API\Plugins\AESGCMHandlerComponent\EAESGCMNetResult) > && Result ) } }


code: namespace UE { namespace Net { void UE::Net::AddToChainResultPtr ( [TPimplPtr](API\Runtime\Core\Templates\TPimplPtr)< [FNetResult](API\Runtime\NetCore\Net\Core\Connection\FNetResult), EPimplPtrMode::DeepCopy > & ResultPtr, [TNetResult](API\Runtime\NetCore\Net\Core\Connection\TNetResult)< [EAESGCMNetResult](API\Plugins\AESGCMHandlerComponent\EAESGCMNetResult) > && Result ) } }