UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UNetConnection Class Reference

#include <NetConnection.h>

+ Inheritance diagram for UNetConnection:

Public Types

enum class  EWriteBitsDataType { Unknown , Bunch , Ack }
 
using FNetConnectionPacketLoss = TPacketLossData< 3 >
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

bool IsInternalAck () const
 
void SetInternalAck (bool bValue)
 
bool IsReplay () const
 
void SetReplay (bool bValue)
 
virtual bool IsReplayReady () const
 
bool IsForceInitialDirty () const
 
void SetForceInitialDirty (bool bValue)
 
bool IsUnlimitedBunchSizeAllowed () const
 
void SetUnlimitedBunchSizeAllowed (bool bValue)
 
virtual ENGINE_API ~UNetConnection ()
 
void ResetPacketBitCounts ()
 
TMap< FString, TArray< float > > & GetActorsStarvedByClassTimeMap ()
 
void ResetActorsStarvedByClassTimeMap ()
 
ENGINE_API uint32 GetClientHandshakeId () const
 
ENGINE_API void SetClientHandshakeId (uint32 InClientHandshakeId)
 
ENGINE_API const EConnectionState GetConnectionState () const
 
ENGINE_API void SetConnectionState (EConnectionState ConnectionState)
 
ENGINE_API bool IsClosingOrClosed () const
 
double GetLastRecvAckTime () const
 
double GetConnectTime () const
 
float GetAverageJitterInMS () const
 
int32 GetInTotalHandlerPackets () const
 
const FNetConnectionPacketLossGetInLossPercentage () const
 
const FNetConnectionPacketLossGetOutLossPercentage () const
 
uint32 GetNetworkCustomVersion (const FGuid &VersionGuid) const
 
void SetNetworkCustomVersions (const FCustomVersionContainer &CustomVersions)
 
UE::Net::FConnectionHandle GetConnectionHandle () const
 
uint32 GetConnectionId () const
 
void SetConnectionId (uint32 InConnectionId)
 
ENGINE_API uint32 GetParentConnectionId () const
 
FNetTraceCollectorGetInTraceCollector () const
 
FNetTraceCollectorGetOutTraceCollector () const
 
AActorGetConnectionViewTarget () const
 
void RemoveActorChannel (AActor *Actor)
 
void AddActorChannel (AActor *Actor, UActorChannel *Channel)
 
UActorChannelFindActorChannelRef (const TWeakObjectPtr< AActor > &Actor)
 
UActorChannel ** FindActorChannel (const TWeakObjectPtr< AActor > &Actor)
 
bool ContainsActorChannel (const TWeakObjectPtr< AActor > &Actor)
 
int32 ActorChannelsNum () const
 
FActorChannelMap::TConstIterator ActorChannelConstIterator () const
 
const FActorChannelMapActorChannelMap () const
 
UReplicationConnectionDriverGetReplicationConnectionDriver ()
 
void SetReplicationConnectionDriver (UReplicationConnectionDriver *NewReplicationConnectionDriver)
 
void TearDownReplicationConnectionDriver ()
 
void SetPackageVersionUE (FPackageFileVersion InPackageVersionUE)
 
void SetPackageVersionLicenseeUE (int32 InPackageVersionLicenseeUE)
 
void SetEngineVersion (const FEngineVersion &InEngineVersion)
 
void SetNetVersionsOnArchive (FArchive &Ar) const
 
void AddDestructionInfo (FActorDestructionInfo *DestructionInfo)
 
void RemoveDestructionInfo (FActorDestructionInfo *DestructionInfo)
 
void ResetDestructionInfos ()
 
TSet< FNetworkGUID > & GetDestroyedStartupOrDormantActorGUIDs ()
 
FName GetClientWorldPackageName () const
 
ENGINE_API void SetClientWorldPackageName (FName NewClientWorldPackageName)
 
ENGINE_API void UpdateLevelVisibility (const struct FUpdateLevelVisibilityLevelInfo &LevelVisibility)
 
const TSet< FName > & GetClientMakingVisibleLevelNames () const
 
ENGINE_API void SetLocalPlayerFunction (TFunction< class ULocalPlayer *(UNetConnection *, APlayerController *)> GetPlayerFunction)
 
ENGINE_API TFunction< class ULocalPlayer *(UNetConnection *, APlayerController *)> GetLocalPlayerFunction ()
 
 DECLARE_MULTICAST_DELEGATE_ThreeParams (FOnConnectionOpened, UNetConnection *, APlayerController *, UNetConnection *)
 
FOnConnectionOpenedGetOnConnectionOpened ()
 
ENGINE_API bool ShouldReplicateVoicePacketFrom (const FUniqueNetId &Sender)
 
ENGINE_API UNetConnection (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
ENGINE_API UNetConnection (FVTableHelper &Helper)
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void FinishDestroy () override
 
virtual ENGINE_API UWorldGetWorld () const override
 
void ReadInput (float DeltaSeconds)
 
virtual UChildConnectionGetUChildConnection ()
 
virtual ENGINE_API FString Describe ()
 
virtual ENGINE_API void InitSendBuffer ()
 
virtual ENGINE_API void AssertValid ()
 
virtual ENGINE_API void FlushNet (bool bIgnoreSimulation=false)
 
virtual ENGINE_API void Tick (float DeltaSeconds)
 
virtual ENGINE_API int32 IsNetReady (bool bSaturate)
 
virtual ENGINE_API bool IsNetReady () const
 
ENGINE_API bool IsPacketSequenceWindowFull (uint32 SafetyMargin=0U)
 
virtual ENGINE_API void HandleClientPlayer (class APlayerController *PC, class UNetConnection *NetConnection)
 
virtual int32 GetAddrPort (void)
 
ENGINE_API UChildConnectionGetChildConnectionWithNetPlayerIndex (const int32 NetPlayerIndex)
 
ENGINE_API bool GetNetPlayerIndex (UChildConnection *ChildConnection, int32 *OutNetPlayerIndex)
 
ENGINE_API UChildConnectionCreateChild (int32 *OutNetPlayerIndex)
 
ENGINE_API UChildConnectionCreateChildWithNetPlayerIndex (int32 NetPlayerIndex)
 
ENGINE_API void RemoveChild (UChildConnection *ChildConnection)
 
virtual TSharedPtr< const FInternetAddrGetRemoteAddr ()
 
void Close ()
 
void Close (FNetCloseResult &&CloseReason)
 
ENGINE_API void Close (FNetResult &&CloseReason)
 
ENGINE_API void GracefulClose (FNetResult &&CloseReason)
 
virtual void GracefulClose (FNetCloseResult &&CloseReason)
 
virtual ENGINE_API void CleanUp ()
 
virtual ENGINE_API void InitBase (UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0)
 
virtual ENGINE_API void InitHandler ()
 
virtual ENGINE_API void InitSequence (int32 IncomingSequence, int32 OutgoingSequence)
 
virtual ENGINE_API void NotifyAnalyticsProvider ()
 
ENGINE_API void EnableEncryption (const FEncryptionData &EncryptionData)
 
ENGINE_API void EnableEncryptionServer (const FEncryptionData &EncryptionData)
 
ENGINE_API void SetEncryptionData (const FEncryptionData &EncryptionData)
 
ENGINE_API void SendClientEncryptionAck ()
 
ENGINE_API void EnableEncryption ()
 
virtual ENGINE_API bool IsEncryptionEnabled () const
 
virtual FString RemoteAddressToString ()
 
virtual ENGINE_API TSharedPtr< FObjectReplicatorCreateReplicatorForNewActorChannel (UObject *Object)
 
int32 WriteBitsToSendBuffer (const uint8 *Bits, const int32 SizeInBits, const uint8 *ExtraBits=NULL, const int32 ExtraSizeInBits=0, EWriteBitsDataType DataType=EWriteBitsDataType::Unknown)
 
int64 GetFreeSendBufferBits ()
 
void PopLastStart ()
 
virtual ENGINE_API bool ClientHasInitializedLevel (const ULevel *TestLevel) const
 
 UE_DEPRECATED (5.4, "ClientHasInitializedLevelFor is deprecated. Use ClientHasInitializedLevel and pass the actor's level (Actor->GetLevel()) instead.") ENGINE_API virtual bool ClientHasInitializedLevelFor(const AActor *TestActor) const
 
virtual ENGINE_API void ReceivedRawPacket (void *Data, int32 Count)
 
ENGINE_API int32 SendRawBunch (FOutBunch &Bunch, bool InAllowMerge, const FNetTraceCollector *BunchCollector)
 
int32 SendRawBunch (FOutBunch &Bunch, bool InAllowMerge)
 
int32 GetMaxSingleBunchSizeBits () const
 
UNetDriverGetDriver ()
 
const UNetDriverGetDriver () const
 
ENGINE_API UChannelCreateChannelByName (const FName &ChName, EChannelCreateFlags CreateFlags, int32 ChannelIndex=INDEX_NONE)
 
virtual ENGINE_API void ReceivedPacket (FBitReader &Reader, bool bIsReinjectedPacket=false, bool bDispatchPacket=true)
 
virtual ENGINE_API void DispatchPacket (FBitReader &Reader, int32 PacketId, bool &bOutSkipAck, bool &bOutHasBunchErrors)
 
void ReceivedNak (int32 NakPacketId)
 
void ResetGameWorldState ()
 
void SlowAssertValid ()
 
ENGINE_API class UVoiceChannelGetVoiceChannel ()
 
virtual ENGINE_API void FlushDormancy (class AActor *Actor)
 
ENGINE_API void ForcePropertyCompare (AActor *Actor)
 
void FlushDormancyForObject (AActor *DormantActor, UObject *ReplicatedObject)
 
virtual ENGINE_API void SetClientLoginState (const EClientLoginState::Type NewState)
 
ENGINE_API void SetExpectedClientLoginMsgType (const uint8 NewType)
 
ENGINE_API bool IsClientMsgTypeValid (const uint8 ClientMsgType)
 
ENGINE_API bool TrackLogsPerSecond ()
 
virtual ENGINE_API float GetTimeoutValue ()
 
void StartTickingChannel (UChannel *Channel)
 
void StopTickingChannel (UChannel *Channel)
 
int32 GetNumTickingChannels () const
 
FHistogram GetNetHistogram () const
 
bool HasReceivedClientPacket ()
 
ENGINE_API void SetPlayerOnlinePlatformName (const FName InPlayerOnlinePlatformName)
 
FName GetPlayerOnlinePlatformName () const
 
void SetAllowExistingChannelIndex (bool bAllow)
 
void SetIgnoreActorBunches (bool bInIgnoreActorBunches, TSet< FNetworkGUID > &&InIgnoredBunchGuids)
 
void SetReserveDestroyedChannels (bool bInReserveChannels)
 
bool IsReservingDestroyedChannels () const
 
void AddReservedChannel (int32 ChIndex)
 
void SetIgnoreReservedChannels (bool bInIgnoreReservedChannels)
 
TArray< FOutBunch * > & GetOutgoingBunches ()
 
void StoreDormantReplicator (AActor *OwnerActor, UObject *Object, const TSharedRef< FObjectReplicator > &ObjectReplicator)
 
TSharedPtr< FObjectReplicatorFindAndRemoveDormantReplicator (AActor *OwnerActor, UObject *Object)
 
void RemoveDormantReplicator (AActor *Actor, UObject *Object)
 
void CleanupDormantReplicatorsForActor (AActor *Actor)
 
ENGINE_API void ExecuteOnAllDormantReplicators (UE::Net::FExecuteForEachDormantReplicator ExecuteFunction)
 
void ExecuteOnAllDormantReplicatorsOfActor (AActor *OwnerActor, UE::Net::FExecuteForEachDormantReplicator ExecuteFunction)
 
void CleanupStaleDormantReplicators ()
 
void PreTickDispatch ()
 
void PostTickDispatch ()
 
void FlushPacketOrderCache (bool bFlushWholeCache=false)
 
int32 GetTotalOutOfOrderPackets () const
 
int32 GetTotalOutOfOrderPacketsLost () const
 
int32 GetTotalOutOfOrderPacketsRecovered () const
 
int32 GetTotalOutOfOrderPacketsDuplicate () const
 
void SetPacketOSReceiveTime (const FPacketTimestamp &InOSReceiveTime, bool bInIsOSReceiveTimeLocal)
 
virtual void NotifyActorNetGUID (UActorChannel *Channel)
 
ENGINE_API void ConsumeQueuedActorDelinquencyAnalytics (FNetQueuedActorDelinquencyAnalytics &Out)
 
ENGINE_API const FNetQueuedActorDelinquencyAnalyticsGetQueuedActorDelinquencyAnalytics () const
 
ENGINE_API void ResetQueuedActorDelinquencyAnalytics ()
 
ENGINE_API void ConsumeSaturationAnalytics (FNetConnectionSaturationAnalytics &Out)
 
ENGINE_API const FNetConnectionSaturationAnalyticsGetSaturationAnalytics () const
 
ENGINE_API void ResetSaturationAnalytics ()
 
ENGINE_API void ConsumePacketAnalytics (FNetConnectionPacketAnalytics &Out)
 
ENGINE_API const FNetConnectionPacketAnalyticsGetPacketAnalytics () const
 
ENGINE_API void ResetPacketAnalytics ()
 
ENGINE_API void TrackReplicationForAnalytics (const bool bWasSaturated)
 
uint32 GetOutTotalNotifiedPackets () const
 
ENGINE_API void SendChallengeControlMessage ()
 
void SendChallengeControlMessage (const FEncryptionKeyResponse &Response)
 
bool GetPendingCloseDueToReplicationFailure () const
 
ENGINE_API void SetPendingCloseDueToReplicationFailure ()
 
virtual ENGINE_API void NotifyActorDestroyed (AActor *Actor, bool IsSeamlessTravel=false)
 
virtual ENGINE_API void NotifyActorChannelCleanedUp (UActorChannel *Channel, EChannelCloseReason CloseReason)
 
FNetLevelVisibilityTransactionId UpdateLevelStreamStatusChangedTransactionId (const ULevelStreaming *LevelObject, const FName PackageName, bool bShouldBeVisible)
 
AActorGetRepContextActor () const
 
ULevelGetRepContextLevel () const
 
bool GetAutoFlush () const
 
void SetAutoFlush (bool bValue)
 
FRPCDoSDetectionGetRPCDoS ()
 
UE::Net::FNetConnectionFaultRecovery * GetFaultRecovery ()
 
UE::Net::FNetPingGetNetPing ()
 
void SendCloseReason (FNetCloseResult &&CloseReason)
 
ENGINE_API void SendCloseReason (FNetResult &&CloseReason)
 
ENGINE_API void HandleReceiveCloseReason (const FString &CloseReasonList)
 
ENGINE_API bool HandleReceiveNetUpgrade (uint32 RemoteNetworkVersion, EEngineNetworkRuntimeFeatures RemoteNetworkFeatures, UE::Net::ENetUpgradeSource NetUpgradeSource=UE::Net::ENetUpgradeSource::ControlChannel)
 
UE::Net::FDormantObjectMapGetDormantFlushedObjectsForActor (AActor *Actor)
 
void ClearDormantFlushedObjectsForActor (AActor *Actor)
 
- Public Member Functions inherited from UPlayer
virtual ENGINE_API void SwitchController (class APlayerController *PC)
 
ENGINE_API FString ConsoleCommand (const FString &Cmd, bool bWriteToLog=true)
 
ENGINE_API APlayerControllerGetPlayerController (const UWorld *const InWorld) const
 
virtual ENGINE_API void ReceivedPlayerController (APlayerController *NewController)
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
virtual CORE_API bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Static Public Member Functions

static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

TArray< TObjectPtr< class UChildConnection > > Children
 
TObjectPtr< class UNetDriverDriver
 
TSubclassOf< UPackageMapPackageMapClass
 
TObjectPtr< class UPackageMapPackageMap
 
TArray< TObjectPtr< class UChannel > > OpenChannels
 
TArray< TObjectPtr< class AActor > > SentTemporaries
 
TObjectPtr< class AActorViewTarget
 
TObjectPtr< class AActorOwningActor
 
int32 MaxPacket
 
struct FURL URL
 
TSharedPtr< FInternetAddrRemoteAddr
 
int NumPacketIdBits
 
int NumBunchBits
 
int NumAckBits
 
int NumPaddingBits
 
int32 MaxPacketHandlerBits
 
uint32 bPendingDestroy:1
 
TUniquePtr< PacketHandlerHandler
 
TWeakPtr< StatelessConnectHandlerComponentStatelessConnectComponent
 
bool bNeedsByteSwapping
 
FUniqueNetIdRepl PlayerId
 
int32 PacketOverhead
 
FString Challenge
 
FString ClientResponse
 
FString RequestURL
 
int32 ResponseId
 
EClientLoginState::Type ClientLoginState
 
uint8 ExpectedClientLoginMsgType
 
double LastReceiveTime
 
double LastReceiveRealtime
 
double LastGoodPacketRealtime
 
double LastSendTime
 
double LastTickTime
 
int32 QueuedBits
 
int32 TickCount
 
uint32 LastProcessedFrame
 
FBitWriterMark LastStart
 
FBitWriterMark LastEnd
 
bool AllowMerge
 
bool TimeSensitive
 
FOutBunchLastOutBunch
 
FOutBunch LastOut
 
FBitWriter SendBunchHeader
 
double StatUpdateTime
 
float StatPeriod
 
float AvgLag
 
double LagAcc
 
int32 LagCount
 
double LastTime
 
double FrameTime
 
double CumulativeTime
 
double AverageFrameTime
 
double RawPingInSeconds = 0.0
 
int32 CountedFrames
 
int32 InBytes
 
int32 OutBytes
 
int32 InTotalBytes
 
int32 OutTotalBytes
 
int32 InPackets
 
int32 OutPackets
 
int32 InPacketsThisFrame = 0
 
int32 OutPacketsThisFrame = 0
 
int32 InTotalPackets
 
int32 OutTotalPackets
 
int32 InBytesPerSecond
 
int32 OutBytesPerSecond
 
int32 InPacketsPerSecond
 
int32 OutPacketsPerSecond
 
int32 InPacketsLost
 
int32 OutPacketsLost
 
int32 InTotalPacketsLost
 
int32 OutTotalPacketsLost
 
int32 OutTotalAcks
 
int32 TotalDelayedRPCs = 0
 
int32 TotalDelayedRPCsFrameCount = 0
 
FNetConnAnalyticsVars AnalyticsVars
 
TNetAnalyticsDataPtr< FNetConnAnalyticsDataNetAnalyticsData
 
FBitWriter SendBuffer
 
double OutLagTime [256]
 
int32 OutLagPacketId [256]
 
uint8 OutBytesPerSecondHistory [256]
 
int32 InPacketId
 
int32 OutPacketId
 
int32 OutAckPacketId
 
bool bLastHasServerFrameTime
 
int32 DefaultMaxChannelSize
 
TArray< TObjectPtr< UChannel > > Channels
 
TArray< int32OutReliable
 
TArray< int32InReliable
 
TArray< int32PendingOutRec
 
int32 InitOutReliable
 
int32 InitInReliable
 
double LogCallLastTime
 
int32 LogCallCount
 
int32 LogSustainedCount
 
TMap< FNetworkGUID, TArray< TObjectPtr< class UActorChannel > > > KeepProcessingActorChannelBunchesMap
 
TSet< FNameClientVisibleLevelNames
 
EResendAllDataState ResendAllDataState
 
FOnReceivedRawPacket ReceivedRawPacketDel
 
FOnLowLevelSend LowLevelSendDel
 
virtual FString LowLevelGetRemoteAddress (bool bAppendPort=false) PURE_VIRTUAL(UNetConnection
 
virtual FString LowLevelDescribe () PURE_VIRTUAL(UNetConnection
 
virtual void LowLevelSend(void *Data, int32 CountBits, FOutPacketTraits &Traits) PURE_VIRTUAL(UNetConnection virtual ENGINE_API voi ValidateSendBuffer )()
 
virtual void virtual InitRemoteConnection(UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, const class FInternetAddr &InRemoteAddr, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0) PURE_VIRTUAL(UNetConnection void InitLocalConnection(UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0) PURE_VIRTUAL(UNetConnection virtual ENGINE_API voi InitConnection )(UNetDriver *InDriver, EConnectionState InState, const FURL &InURL, int32 InConnectionSpeed=0, int32 InMaxPacket=0)
 

Static Public Attributes

static class UNetConnectionGNetConnectionBeingCleanedUp = NULL
 

Protected Member Functions

bool GetPendingCloseDueToSocketSendFailure () const
 
ENGINE_API void SetPendingCloseDueToSocketSendFailure ()
 
void CleanupDormantActorState ()
 
void ClearDormantReplicatorsReference ()
 
virtual ENGINE_API void DestroyOwningActor ()
 
virtual ENGINE_API void DestroyIgnoredActor (AActor *Actor)
 
virtual ENGINE_API void HandleConnectionTimeout (const FString &Error)
 
ENGINE_API void NotifyConnectionUpdated ()
 
ENGINE_API int32 GetLastNotifiedPacketId () const
 
void InitChannelData ()
 
void SetConnectionHandle (UE::Net::FConnectionHandle Handle)
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Runtime (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Protected Attributes

TOptional< FNetworkCongestionControlNetworkCongestionControl
 

Friends

struct FScopedRepContext
 

Member Typedef Documentation

◆ FNetConnectionPacketLoss

Percentage of packets lost during the last StatPeriod

Member Enumeration Documentation

◆ EWriteBitsDataType

What type of data is being written

Enumerator
Unknown 
Bunch 
Ack 

Constructor & Destructor Documentation

◆ ~UNetConnection()

PRAGMA_DISABLE_DEPRECATION_WARNINGS UNetConnection::~UNetConnection ( )
virtualdefault

Destructor

◆ UNetConnection() [1/2]

UNetConnection::UNetConnection ( const FObjectInitializer ObjectInitializer = FObjectInitializer::Get())

◆ UNetConnection() [2/2]

UNetConnection::UNetConnection ( FVTableHelper Helper)

Member Function Documentation

◆ ActorChannelConstIterator()

FActorChannelMap::TConstIterator UNetConnection::ActorChannelConstIterator ( ) const
inline

◆ ActorChannelMap()

const FActorChannelMap & UNetConnection::ActorChannelMap ( ) const
inline

◆ ActorChannelsNum()

int32 UNetConnection::ActorChannelsNum ( ) const
inline

◆ AddActorChannel()

void UNetConnection::AddActorChannel ( AActor Actor,
UActorChannel Channel 
)
inline

◆ AddDestructionInfo()

void UNetConnection::AddDestructionInfo ( FActorDestructionInfo DestructionInfo)
inline

◆ AddReferencedObjects()

void UNetConnection::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ AddReservedChannel()

void UNetConnection::AddReservedChannel ( int32  ChIndex)
inline

◆ AssertValid()

void UNetConnection::AssertValid ( )
virtual

Make sure this connection is in a reasonable state.

Reimplemented in UChildConnection.

◆ CleanUp()

void UNetConnection::CleanUp ( )
virtual

closes the control channel, cleans up structures, and prepares for deletion

Reimplemented in UChildConnection, and UReplayNetConnection.

◆ CleanupDormantActorState()

void UNetConnection::CleanupDormantActorState ( )
protected

◆ CleanupDormantReplicatorsForActor()

void UNetConnection::CleanupDormantReplicatorsForActor ( AActor Actor)

Remove the reference of all dormant object replicators owned by an actor

◆ CleanupStaleDormantReplicators()

void UNetConnection::CleanupStaleDormantReplicators ( )

Removes dormant object replicators from objects now invalid.

◆ ClearDormantFlushedObjectsForActor()

void UNetConnection::ClearDormantFlushedObjectsForActor ( AActor Actor)

Clear stored flushed replicated sub-objects for a given actor, generally after replication or when the actor is destroyed

Parameters
ActorThe actor to clear the flushed object data for

◆ ClearDormantReplicatorsReference()

void UNetConnection::ClearDormantReplicatorsReference ( )
protected

◆ ClientHasInitializedLevel()

bool UNetConnection::ClientHasInitializedLevel ( const ULevel TestLevel) const
virtual

returns whether the client has initialized the given level

Returns
true if the client has initialized the given level, false otherwise

Reimplemented in UDemoNetConnection, USimulatedClientNetConnection, and UReplayNetConnection.

◆ Close() [1/3]

void UNetConnection::Close ( )
inline

Closes the connection (including sending a close notify across the network) NOTE: To be deprecated in the near future.

◆ Close() [2/3]

void UNetConnection::Close ( FNetCloseResult &&  CloseReason)
inline

Closes the connection (including sending a close notify across the network)

Parameters
CloseReasonSpecifies the reason for the Close

◆ Close() [3/3]

void UNetConnection::Close ( FNetResult &&  CloseReason)

Closes the connection (including sending a close notify across the network)

Parameters
CloseReasonSpecifies the reason for the Close

◆ ConsumePacketAnalytics()

void UNetConnection::ConsumePacketAnalytics ( FNetConnectionPacketAnalytics Out)

Returns the current packet stability analytics and resets them. This would be similar to calls to Get and Reset separately, except that the caller will assume ownership of the data in this case.

◆ ConsumeQueuedActorDelinquencyAnalytics()

void UNetConnection::ConsumeQueuedActorDelinquencyAnalytics ( FNetQueuedActorDelinquencyAnalytics Out)

Returns the current delinquency analytics and resets them. This would be similar to calls to Get and Reset separately, except that the caller will assume ownership of data in this case.

◆ ConsumeSaturationAnalytics()

void UNetConnection::ConsumeSaturationAnalytics ( FNetConnectionSaturationAnalytics Out)

Returns the current saturation analytics and resets them. This would be similar to calls to Get and Reset separately, except that the caller will assume ownership of data in this case.

◆ ContainsActorChannel()

bool UNetConnection::ContainsActorChannel ( const TWeakObjectPtr< AActor > &  Actor)
inline

◆ CreateChannelByName()

UChannel * UNetConnection::CreateChannelByName ( const FName ChName,
EChannelCreateFlags  CreateFlags,
int32  ChannelIndex = INDEX_NONE 
)

Create a channel.

◆ CreateChild()

UChildConnection * UNetConnection::CreateChild ( int32 OutNetPlayerIndex)

Create and return a child connection and assign it a new NetPlayerIndex.

The new NetPlayerIndex is output in the argument OutNetPlayerIndex.

◆ CreateChildWithNetPlayerIndex()

UChildConnection * UNetConnection::CreateChildWithNetPlayerIndex ( int32  NetPlayerIndex)

Create and return a child connection and assign it a NetPlayerIndex provided as an argument.

◆ CreateReplicatorForNewActorChannel()

TSharedPtr< FObjectReplicator > UNetConnection::CreateReplicatorForNewActorChannel ( UObject Object)
virtual

Called by UActorChannel. Handles creating a new replicator for an actor

Reimplemented in UDemoNetConnection.

◆ DECLARE_MULTICAST_DELEGATE_ThreeParams()

UNetConnection::DECLARE_MULTICAST_DELEGATE_ThreeParams ( FOnConnectionOpened  ,
UNetConnection ,
APlayerController ,
UNetConnection  
)

Delegate that is called when a connection has been successfully completed on a client and calls HandleClientPlayer().

In the case of UChildConnection the delegate on the parent connection will be called.

Parameters
ChildGameServerConnectionA child UNetConnection (will be equal to ParentGameServerConnection on a root connection).
PlayerControllerThe controller replicated from the server.
ParentGameServerConnectionA parent UNetConnection.

◆ Describe()

FString UNetConnection::Describe ( )
virtual

Describe the connection.

◆ DestroyIgnoredActor()

void UNetConnection::DestroyIgnoredActor ( AActor Actor)
protectedvirtual

Called internally to destroy an actor during replay fast-forward when the actor channel index will be recycled

Reimplemented in UDemoNetConnection.

◆ DestroyOwningActor()

void UNetConnection::DestroyOwningActor ( )
protectedvirtual

During cleanup this will destroy the actor owned by this connection (generally a PlayerController)

Reimplemented in USimulatedClientNetConnection.

◆ DispatchPacket()

void UNetConnection::DispatchPacket ( FBitReader Reader,
int32  PacketId,
bool bOutSkipAck,
bool bOutHasBunchErrors 
)
virtual

Disassemble and dispatch packet. PacketId is an id of the packet to dispatch bOutSkipAck Flag that marks packet as dropped

◆ EnableEncryption() [1/2]

void UNetConnection::EnableEncryption ( )

Enables encryption for the underlying encryption packet handler component.

◆ EnableEncryption() [2/2]

void UNetConnection::EnableEncryption ( const FEncryptionData EncryptionData)

Sets the encryption data and enables encryption.

◆ EnableEncryptionServer()

void UNetConnection::EnableEncryptionServer ( const FEncryptionData EncryptionData)

Sets the encryption data, enables encryption, and sends the encryption ack to the client.

◆ ExecuteOnAllDormantReplicators()

void UNetConnection::ExecuteOnAllDormantReplicators ( UE::Net::FExecuteForEachDormantReplicator  ExecuteFunction)

Trigger a callback on all dormant replicators of every dormant actor we stored

◆ ExecuteOnAllDormantReplicatorsOfActor()

void UNetConnection::ExecuteOnAllDormantReplicatorsOfActor ( AActor OwnerActor,
UE::Net::FExecuteForEachDormantReplicator  ExecuteFunction 
)

Trigger a callback on all dormant replicators owned by a dormant actor

◆ FindActorChannel()

UActorChannel ** UNetConnection::FindActorChannel ( const TWeakObjectPtr< AActor > &  Actor)
inline

◆ FindActorChannelRef()

UActorChannel * UNetConnection::FindActorChannelRef ( const TWeakObjectPtr< AActor > &  Actor)
inline

◆ FindAndRemoveDormantReplicator()

TSharedPtr< FObjectReplicator > UNetConnection::FindAndRemoveDormantReplicator ( AActor OwnerActor,
UObject Object 
)

Find a dormant replicator for the channel actor or one of its subobjects. Removes it from the map if found.

◆ FinishDestroy()

void UNetConnection::FinishDestroy ( )
overridevirtual

Called to finish destroying the object. After UObject::FinishDestroy is called, the object's memory should no longer be accessed.

Warning
Because properties are destroyed here, Super::FinishDestroy() should always be called at the end of your child class's FinishDestroy() method, rather than at the beginning.

Reimplemented from UObject.

◆ FlushDormancy()

void UNetConnection::FlushDormancy ( class AActor Actor)
virtual

◆ FlushDormancyForObject()

void UNetConnection::FlushDormancyForObject ( AActor DormantActor,
UObject ReplicatedObject 
)

Validate an objects dormancy state and prepare the object for replication again

Parameters
DormantActorThe dormant actor that owns the replicated object that needs to be flushed
ReplicatedObjectThe replicated object that is flushed.

◆ FlushNet()

void UNetConnection::FlushNet ( bool  bIgnoreSimulation = false)
virtual

flushes any pending data, bundling it into a packet and sending it via LowLevelSend() also handles network simulation settings (simulated lag, packet loss, etc) unless bIgnoreSimulation is true

Reimplemented in UChildConnection, and UDemoNetConnection.

◆ FlushPacketOrderCache()

void UNetConnection::FlushPacketOrderCache ( bool  bFlushWholeCache = false)

Flush the cache of sequenced packets waiting for a missing packet. Will flush only up to the next missing packet, unless bFlushWholeCache is set.

Parameters
bFlushWholeCacheWhether or not the whole cache should be flushed, or only flush up to the next missing packet

◆ ForcePropertyCompare()

void UNetConnection::ForcePropertyCompare ( AActor Actor)

Forces properties on this actor to do a compare for one frame (rather than share shadow state)

◆ GetActorsStarvedByClassTimeMap()

TMap< FString, TArray< float > > & UNetConnection::GetActorsStarvedByClassTimeMap ( )
inline

Returns the actor starvation map

◆ GetAddrPort()

virtual int32 UNetConnection::GetAddrPort ( void  )
inlinevirtual
Returns
the port of the connection as an integer

◆ GetAutoFlush()

bool UNetConnection::GetAutoFlush ( ) const
inline

◆ GetAverageJitterInMS()

float UNetConnection::GetAverageJitterInMS ( ) const
inline

Current jitter for this connection in milliseconds

◆ GetChildConnectionWithNetPlayerIndex()

UChildConnection * UNetConnection::GetChildConnectionWithNetPlayerIndex ( const int32  NetPlayerIndex)

Return the child connection that uses the provided NetPlayerIndex.

◆ GetClientHandshakeId()

uint32 UNetConnection::GetClientHandshakeId ( ) const

Get the client handshake id for this connection.

◆ GetClientMakingVisibleLevelNames()

const TSet< FName > & UNetConnection::GetClientMakingVisibleLevelNames ( ) const
inline

◆ GetClientWorldPackageName()

FName UNetConnection::GetClientWorldPackageName ( ) const
inline

◆ GetConnectionHandle()

UE::Net::FConnectionHandle UNetConnection::GetConnectionHandle ( ) const
inline

Returns a connection identifier which contains both parent connection and child connection information.

◆ GetConnectionId()

uint32 UNetConnection::GetConnectionId ( ) const
inline

◆ GetConnectionState()

PRAGMA_DISABLE_DEPRECATION_WARNINGS EConnectionState const UNetConnection::GetConnectionState ( ) const

◆ GetConnectionViewTarget()

AActor * UNetConnection::GetConnectionViewTarget ( ) const

Returns the view target for this connection. Controlled by the player controller when one is assigned. The view target is the owning actor when no PC's are assigned or the PC's view target is invalid

◆ GetConnectTime()

double UNetConnection::GetConnectTime ( ) const
inline

◆ GetDestroyedStartupOrDormantActorGUIDs()

TSet< FNetworkGUID > & UNetConnection::GetDestroyedStartupOrDormantActorGUIDs ( )
inline

◆ GetDormantFlushedObjectsForActor()

UE::Net::FDormantObjectMap * UNetConnection::GetDormantFlushedObjectsForActor ( AActor Actor)

Retrieve stored set of replicated sub-objects of the given actor at the time of the last dormancy flush This data is cleared when the actor is processed by ReplicateActor

Parameters
ActorThe actor to retrieve the object map for
Returns
A map of network guids to weak object pointers

◆ GetDriver() [1/2]

UNetDriver * UNetConnection::GetDriver ( )
inline
Returns
The driver object

◆ GetDriver() [2/2]

const UNetDriver * UNetConnection::GetDriver ( ) const
inline

◆ GetFaultRecovery()

UE::Net::FNetConnectionFaultRecovery * UNetConnection::GetFaultRecovery ( )
inline

◆ GetFreeSendBufferBits()

int64 UNetConnection::GetFreeSendBufferBits ( )

Returns number of bits left in current packet that can be used without causing a flush.

Returns number of bits left in current packet that can be used without causing a flush

◆ GetInLossPercentage()

const FNetConnectionPacketLoss & UNetConnection::GetInLossPercentage ( ) const
inline

◆ GetInTotalHandlerPackets()

int32 UNetConnection::GetInTotalHandlerPackets ( ) const
inline

◆ GetInTraceCollector()

FNetTraceCollector * UNetConnection::GetInTraceCollector ( ) const
inline

◆ GetLastNotifiedPacketId()

int32 UNetConnection::GetLastNotifiedPacketId ( ) const
protected

Return last notified packet id

◆ GetLastRecvAckTime()

double UNetConnection::GetLastRecvAckTime ( ) const
inline

◆ GetLocalPlayerFunction()

TFunction< ULocalPlayer *(UNetConnection *, APlayerController *)> UNetConnection::GetLocalPlayerFunction ( )

◆ GetMaxSingleBunchSizeBits()

int32 UNetConnection::GetMaxSingleBunchSizeBits ( ) const
inline

The maximum number of bits allowed within a single bunch.

◆ GetNetHistogram()

FHistogram UNetConnection::GetNetHistogram ( ) const
inline

◆ GetNetPing()

UE::Net::FNetPing * UNetConnection::GetNetPing ( )
inline

◆ GetNetPlayerIndex()

bool UNetConnection::GetNetPlayerIndex ( UChildConnection ChildConnection,
int32 OutNetPlayerIndex 
)

Return true if the provided child connection belongs to the parent and the NetPlayerIndex output to OutNetPlayerIndex.

◆ GetNetworkCustomVersion()

uint32 UNetConnection::GetNetworkCustomVersion ( const FGuid VersionGuid) const

◆ GetNumTickingChannels()

int32 UNetConnection::GetNumTickingChannels ( ) const
inline

◆ GetOnConnectionOpened()

FOnConnectionOpened & UNetConnection::GetOnConnectionOpened ( )
inline

◆ GetOutgoingBunches()

TArray< FOutBunch * > & UNetConnection::GetOutgoingBunches ( )
inline

Returns the OutgoingBunches array, only to be used by UChannel::SendBunch

◆ GetOutLossPercentage()

const FNetConnectionPacketLoss & UNetConnection::GetOutLossPercentage ( ) const
inline

◆ GetOutTotalNotifiedPackets()

uint32 UNetConnection::GetOutTotalNotifiedPackets ( ) const
inline

Get the current number of sent packets for which we have received a delivery notification

◆ GetOutTraceCollector()

FNetTraceCollector * UNetConnection::GetOutTraceCollector ( ) const
inline

◆ GetPacketAnalytics()

const FNetConnectionPacketAnalytics & UNetConnection::GetPacketAnalytics ( ) const

Returns the current packet stability analytics.

◆ GetParentConnectionId()

uint32 UNetConnection::GetParentConnectionId ( ) const

If this is a child connection it will return the topmost parent coonnection ID, otherwise it will return its own ID.

◆ GetPendingCloseDueToReplicationFailure()

bool UNetConnection::GetPendingCloseDueToReplicationFailure ( ) const
inline

◆ GetPendingCloseDueToSocketSendFailure()

bool UNetConnection::GetPendingCloseDueToSocketSendFailure ( ) const
inlineprotected

◆ GetPlayerOnlinePlatformName()

FName UNetConnection::GetPlayerOnlinePlatformName ( ) const
inline

Returns the online platform name for the player on this connection. Only valid for client connections on servers.

◆ GetQueuedActorDelinquencyAnalytics()

const FNetQueuedActorDelinquencyAnalytics & UNetConnection::GetQueuedActorDelinquencyAnalytics ( ) const

Returns the current delinquency analytics.

◆ GetRemoteAddr()

virtual TSharedPtr< const FInternetAddr > UNetConnection::GetRemoteAddr ( )
inlinevirtual

Return the platform specific FInternetAddr type, containing this connections address. If nullptr is returned, connection is not added to MappedClientConnections, and can't receive net packets which depend on this.

Returns
The platform specific FInternetAddr containing this connections address

Reimplemented in UDemoNetConnection, USimulatedClientNetConnection, and UReplayNetConnection.

◆ GetRepContextActor()

AActor * UNetConnection::GetRepContextActor ( ) const
inline

◆ GetRepContextLevel()

ULevel * UNetConnection::GetRepContextLevel ( ) const
inline

◆ GetReplicationConnectionDriver()

UReplicationConnectionDriver * UNetConnection::GetReplicationConnectionDriver ( )
inline

◆ GetRPCDoS()

FRPCDoSDetection * UNetConnection::GetRPCDoS ( )
inline

◆ GetSaturationAnalytics()

const FNetConnectionSaturationAnalytics & UNetConnection::GetSaturationAnalytics ( ) const

Returns the current saturation analytics.

◆ GetTimeoutValue()

float UNetConnection::GetTimeoutValue ( )
virtual

Return current timeout value that should be used

◆ GetTotalOutOfOrderPackets()

int32 UNetConnection::GetTotalOutOfOrderPackets ( ) const
inline

Get the total number of out of order packets on this connection.

Returns
The total number of out of order packets.

◆ GetTotalOutOfOrderPacketsDuplicate()

int32 UNetConnection::GetTotalOutOfOrderPacketsDuplicate ( ) const
inline

Get the total number of out of order packets that were duplicates on this connection.

Returns
The total number of out of order packets that were duplicates.

◆ GetTotalOutOfOrderPacketsLost()

int32 UNetConnection::GetTotalOutOfOrderPacketsLost ( ) const
inline

Get the total number of out of order packets lost on this connection.

Returns
The total number of out of order packets lost.

◆ GetTotalOutOfOrderPacketsRecovered()

int32 UNetConnection::GetTotalOutOfOrderPacketsRecovered ( ) const
inline

Get the total number of out of order packets recovered on this connection.

Returns
The total number of out of order packets recovered.

◆ GetUChildConnection()

virtual UChildConnection * UNetConnection::GetUChildConnection ( )
inlinevirtual

get the representation of a secondary splitscreen connection that reroutes calls to the parent connection

Returns
NULL for this connection.

Reimplemented in UChildConnection.

◆ GetVoiceChannel()

UVoiceChannel * UNetConnection::GetVoiceChannel ( )
Returns
Finds the voice channel for this connection or NULL if none

◆ GetWorld()

UWorld * UNetConnection::GetWorld ( ) const
overridevirtual

Get the world the connection belongs to

Returns
Returns the world of the net driver, or the owning actor on this connection

◆ GracefulClose() [1/2]

virtual void UNetConnection::GracefulClose ( FNetCloseResult &&  CloseReason)
inlinevirtual

Starts a graceful close. If net.EnableGracefulClose is true, waits longer for reliable RPCs to be acknowledged before fully cleaning up the connection. If net.EnableGracefulClose is false, immediately sends the control channel close bunch. Reliable RPCs may be lost.

Parameters
CloseReasonSpecifies the reason for the Close

Reimplemented in UChildConnection.

◆ GracefulClose() [2/2]

void UNetConnection::GracefulClose ( FNetResult &&  CloseReason)

Starts a graceful close. If net.EnableGracefulClose is true, waits longer for reliable RPCs to be acknowledged before fully cleaning up the connection. If net.EnableGracefulClose is false, immediately sends the control channel close bunch. Reliable RPCs may be lost.

Parameters
CloseReasonSpecifies the reason for the Close

◆ HandleClientPlayer()

void UNetConnection::HandleClientPlayer ( class APlayerController PC,
class UNetConnection NetConnection 
)
virtual

Handle the player controller client

Parameters
PCplayer controller for this player
NetConnectionthe connection the player is communicating on

Reimplemented in UDemoNetConnection, USimulatedClientNetConnection, UReplayNetConnection, and UChildConnection.

◆ HandleConnectionTimeout()

void UNetConnection::HandleConnectionTimeout ( const FString &  Error)
protectedvirtual

This is called whenever a connection has passed the relative time to be considered timed out.

◆ HandleReceiveCloseReason()

void UNetConnection::HandleReceiveCloseReason ( const FString &  CloseReasonList)

Handles parsing/validation and logging of NMT_CloseReason messages

Parameters
CloseReasonListDelimited list of close reasons

◆ HandleReceiveNetUpgrade()

bool UNetConnection::HandleReceiveNetUpgrade ( uint32  RemoteNetworkVersion,
EEngineNetworkRuntimeFeatures  RemoteNetworkFeatures,
UE::Net::ENetUpgradeSource  NetUpgradeSource = UE::Net::ENetUpgradeSource::ControlChannel 
)

Handles receiving NMT_Upgrade messages (including at stateless handshake level)

Parameters
RemoteNetworkVersionThe net version of the remote side
RemoteNetworkFeaturesThe net runtime features of the remote side
NetUpgradeSourceThe source of the net upgrade message
Returns
Return true if the connection could be upgraded and we can restart the handshake process. Return false if the upgrade was impossible and the connection must disconnect.

◆ HasReceivedClientPacket()

bool UNetConnection::HasReceivedClientPacket ( )
inline

Whether or not a client packet has been received - used serverside, to delay any packet sends

◆ InitBase()

void UNetConnection::InitBase ( UNetDriver InDriver,
class FSocket InSocket,
const FURL InURL,
EConnectionState  InState,
int32  InMaxPacket = 0,
int32  InPacketOverhead = 0 
)
virtual

Initialize common settings for this connection instance

Parameters
InDriverthe net driver associated with this connection
InSocketthe socket associated with this connection
InURLthe URL to init with
InStatethe connection state to start with for this connection
InMaxPacketthe max packet size that will be used for sending
InPacketOverheadthe packet overhead for this connection type

◆ InitChannelData()

PRAGMA_ENABLE_DEPRECATION_WARNINGS void UNetConnection::InitChannelData ( )
protected

◆ InitHandler()

void UNetConnection::InitHandler ( )
virtual

Initializes the PacketHandler

◆ InitSendBuffer()

void UNetConnection::InitSendBuffer ( )
virtual

Resets the FBitWriter to its default state

Reimplemented in UChildConnection.

◆ InitSequence()

void UNetConnection::InitSequence ( int32  IncomingSequence,
int32  OutgoingSequence 
)
virtual

Initializes the sequence numbers for the connection, usually from shared randomized data

Parameters
IncomingSequenceThe initial sequence number for incoming packets
OutgoingSequenceThe initial sequence number for outgoing packets

◆ IsClientMsgTypeValid()

bool UNetConnection::IsClientMsgTypeValid ( const uint8  ClientMsgType)

This function validates that ClientMsgType is the next expected msg type. Only valid on the server

This function validates that ClientMsgType is the next expected msg type.

◆ IsClosingOrClosed()

bool UNetConnection::IsClosingOrClosed ( ) const

Returns true if this connection's state is USOCK_Closing or USOCK_Closed. No new data should be sent in this case.

◆ IsEncryptionEnabled()

bool UNetConnection::IsEncryptionEnabled ( ) const
virtual

Returns true if encryption is enabled for this connection.

Reimplemented in UChildConnection.

◆ IsForceInitialDirty()

bool UNetConnection::IsForceInitialDirty ( ) const
inline

◆ IsInternalAck()

bool UNetConnection::IsInternalAck ( ) const
inline

◆ IsNetReady() [1/2]

bool UNetConnection::IsNetReady ( ) const
virtual

Returns true if the connection is ready to send and has not exceeded the bandwidth limit yet.

Reimplemented in UChildConnection, UDemoNetConnection, and UReplayNetConnection.

◆ IsNetReady() [2/2]

int32 UNetConnection::IsNetReady ( bool  bSaturate)
virtual

Return whether this connection is ready for sending.

Reimplemented in UReplayNetConnection, UChildConnection, and UDemoNetConnection.

◆ IsPacketSequenceWindowFull()

bool UNetConnection::IsPacketSequenceWindowFull ( uint32  SafetyMargin = 0U)

Return whether this connection can send packets without exhausting the packet sequence history window, as it could cause packets to be NAKed even when they've been received by the remote peer.

Parameters
SafetyMarginA small number representing how many packets you would like to keep as a safety margin for heart beats or other important packets.

◆ IsReplay()

bool UNetConnection::IsReplay ( ) const
inline

◆ IsReplayReady()

virtual bool UNetConnection::IsReplayReady ( ) const
inlinevirtual

Reimplemented in UReplayNetConnection.

◆ IsReservingDestroyedChannels()

bool UNetConnection::IsReservingDestroyedChannels ( ) const
inline

◆ IsUnlimitedBunchSizeAllowed()

bool UNetConnection::IsUnlimitedBunchSizeAllowed ( ) const
inline

Used to allow connections to ignore the bunch size limitation applied before splitting into partial bunch packets, or when receiving partial bunches to reassemble.

!!!WARNING!!! This is a security risk as the connection will accept much larger bunches before hitting the reliable buffer limit, or the array/string serialization limit.

◆ NotifyActorChannelCleanedUp()

void UNetConnection::NotifyActorChannelCleanedUp ( UActorChannel Channel,
EChannelCloseReason  CloseReason 
)
virtual

Reimplemented in UDemoNetConnection, and UReplayNetConnection.

◆ NotifyActorDestroyed()

void UNetConnection::NotifyActorDestroyed ( AActor Actor,
bool  IsSeamlessTravel = false 
)
virtual

Called when owning network driver receives NotifyActorDestroyed.

Reimplemented in UReplayNetConnection.

◆ NotifyActorNetGUID()

virtual void UNetConnection::NotifyActorNetGUID ( UActorChannel Channel)
inlinevirtual

Called when an actor channel is open and knows its NetGUID.

Reimplemented in UDemoNetConnection.

◆ NotifyAnalyticsProvider()

void UNetConnection::NotifyAnalyticsProvider ( )
virtual

Notification that the NetDriver analytics provider has been updated NOTE: Can also mean disabled, e.g. during hotfix

◆ NotifyConnectionUpdated()

void UNetConnection::NotifyConnectionUpdated ( )
protected

Notification that information about this connection may have been updated

◆ PopLastStart()

void UNetConnection::PopLastStart ( )

Pops the LastStart bits off of the send buffer, used for merging bunches

◆ PostTickDispatch()

void UNetConnection::PostTickDispatch ( )

Called after Driver.TickDispatch has processed received packets

◆ PreTickDispatch()

void UNetConnection::PreTickDispatch ( )

Called before Driver.TickDispatch processes received packets

◆ ReadInput()

void UNetConnection::ReadInput ( float  DeltaSeconds)

read input

◆ ReceivedNak()

void UNetConnection::ReceivedNak ( int32  NakPacketId)

Packet was negatively acknowledged.

◆ ReceivedPacket()

void UNetConnection::ReceivedPacket ( FBitReader Reader,
bool  bIsReinjectedPacket = false,
bool  bDispatchPacket = true 
)
virtual

Handle a packet we just received. bIsReinjectedPacket is true if a packet is reprocessed after getting cached bDispatchPacket if true the packet will be processed (passed to DispatchPacket)

◆ ReceivedRawPacket()

void UNetConnection::ReceivedRawPacket ( void Data,
int32  Count 
)
virtual

Allows the connection to process the raw data that was received

Parameters
Datathe data to process
Countthe size of the data buffer to process

◆ RemoteAddressToString()

virtual FString UNetConnection::RemoteAddressToString ( )
inlinevirtual

Gets a unique ID for the connection, this ID depends on the underlying connection For IP connections this is an IP Address and port, for steam this is a SteamID

Reimplemented in UDemoNetConnection, and UReplayNetConnection.

◆ RemoveActorChannel()

void UNetConnection::RemoveActorChannel ( AActor Actor)
inline

◆ RemoveChild()

void UNetConnection::RemoveChild ( UChildConnection ChildConnection)

Remove a child connection from internal data structures.

This function won't actually close the child connection or perform any other clean-up. To close the child connection call UChildConnection::CloseAndRemoveChild().

◆ RemoveDestructionInfo()

void UNetConnection::RemoveDestructionInfo ( FActorDestructionInfo DestructionInfo)
inline

◆ RemoveDormantReplicator()

void UNetConnection::RemoveDormantReplicator ( AActor Actor,
UObject Object 
)

Remove any reference to the dormant object replicator

◆ ResetActorsStarvedByClassTimeMap()

void UNetConnection::ResetActorsStarvedByClassTimeMap ( )
inline

Clears the actor starvation map

◆ ResetDestructionInfos()

void UNetConnection::ResetDestructionInfos ( )
inline

◆ ResetGameWorldState()

void UNetConnection::ResetGameWorldState ( )

Clear all Game specific state. Called during seamless travel

◆ ResetPacketAnalytics()

void UNetConnection::ResetPacketAnalytics ( )

Resets the current packet stability analytics.

◆ ResetPacketBitCounts()

void UNetConnection::ResetPacketBitCounts ( )

Sets all of the bit-tracking variables to zero.

◆ ResetQueuedActorDelinquencyAnalytics()

void UNetConnection::ResetQueuedActorDelinquencyAnalytics ( )

Resets the current delinquency analytics.

◆ ResetSaturationAnalytics()

void UNetConnection::ResetSaturationAnalytics ( )

Resets the current saturation analytics.

◆ SendChallengeControlMessage() [1/2]

void UNetConnection::SendChallengeControlMessage ( )

Sends the NMT_Challenge message

◆ SendChallengeControlMessage() [2/2]

void UNetConnection::SendChallengeControlMessage ( const FEncryptionKeyResponse Response)

Sends the NMT_Challenge message based on encryption response

◆ SendClientEncryptionAck()

void UNetConnection::SendClientEncryptionAck ( )

Sends an NMT_EncryptionAck message

◆ SendCloseReason() [1/2]

void UNetConnection::SendCloseReason ( FNetCloseResult &&  CloseReason)
inline

Sends an NMT_CloseReason message, with the specified close reason or close reason chain. Called automatically by UNetConnection::Close, but should be called beforehand if sending a packet that will trigger a remote close.

Parameters
CloseReasonThe close reason or close reason chain to send

◆ SendCloseReason() [2/2]

void UNetConnection::SendCloseReason ( FNetResult &&  CloseReason)

Sends an NMT_CloseReason message, with the specified close reason or close reason chain. Called automatically by UNetConnection::Close, but should be called beforehand if sending a packet that will trigger a remote close.

Parameters
CloseReasonThe close reason or close reason chain to send

◆ SendRawBunch() [1/2]

int32 UNetConnection::SendRawBunch ( FOutBunch Bunch,
bool  InAllowMerge 
)
inline

◆ SendRawBunch() [2/2]

int32 UNetConnection::SendRawBunch ( FOutBunch Bunch,
bool  InAllowMerge,
const FNetTraceCollector BunchCollector 
)

Send a raw bunch

◆ Serialize()

void UNetConnection::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UObject.

Reimplemented in UDemoNetConnection, and UReplayNetConnection.

◆ SetAllowExistingChannelIndex()

void UNetConnection::SetAllowExistingChannelIndex ( bool  bAllow)

Sets whether we handle opening channels with an index that already exists, used by replays to fast forward the packet stream

◆ SetAutoFlush()

void UNetConnection::SetAutoFlush ( bool  bValue)
inline

◆ SetClientHandshakeId()

void UNetConnection::SetClientHandshakeId ( uint32  InClientHandshakeId)

Set the client handshake id for this connection.

◆ SetClientLoginState()

void UNetConnection::SetClientLoginState ( const EClientLoginState::Type  NewState)
virtual

Wrapper for setting the current client login state, so we can trap for debugging, and verbosity purposes. Only valid on the server

Wrapper for setting the current client login state, so we can trap for debugging, and verbosity purposes.

◆ SetClientWorldPackageName()

void UNetConnection::SetClientWorldPackageName ( FName  NewClientWorldPackageName)

◆ SetConnectionHandle()

void UNetConnection::SetConnectionHandle ( UE::Net::FConnectionHandle  Handle)
inlineprotected

◆ SetConnectionId()

void UNetConnection::SetConnectionId ( uint32  InConnectionId)
inline

◆ SetConnectionState()

void UNetConnection::SetConnectionState ( EConnectionState  ConnectionState)

◆ SetEncryptionData()

void UNetConnection::SetEncryptionData ( const FEncryptionData EncryptionData)

Sets the data for the underlying encryption packet handler component, but doesn't modify encryption enabled state.

◆ SetEngineVersion()

void UNetConnection::SetEngineVersion ( const FEngineVersion InEngineVersion)
inline

Sets engine version information for compatibility purposes

◆ SetExpectedClientLoginMsgType()

void UNetConnection::SetExpectedClientLoginMsgType ( const uint8  NewType)

Wrapper for setting the current expected client login msg type. Only valid on the server

Wrapper for setting the current expected client login msg type.

◆ SetForceInitialDirty()

void UNetConnection::SetForceInitialDirty ( bool  bValue)
inline

◆ SetIgnoreActorBunches()

void UNetConnection::SetIgnoreActorBunches ( bool  bInIgnoreActorBunches,
TSet< FNetworkGUID > &&  InIgnoredBunchGuids 
)

Sets whether or not we should ignore bunches for a specific set of NetGUIDs. Should only be used with InternalAck.

◆ SetIgnoreReservedChannels()

void UNetConnection::SetIgnoreReservedChannels ( bool  bInIgnoreReservedChannels)

Sets whether or not GetFreeChannelIndex should ignore reserved channels Should only be used with InternalAck.

◆ SetInternalAck()

void UNetConnection::SetInternalAck ( bool  bValue)
inline

◆ SetLocalPlayerFunction()

void UNetConnection::SetLocalPlayerFunction ( TFunction< class ULocalPlayer *(UNetConnection *, APlayerController *)>  GetPlayerFunction)

Set a callback that returns a local player to be used by HandleClientPlayer().

◆ SetNetVersionsOnArchive()

void UNetConnection::SetNetVersionsOnArchive ( FArchive Ar) const

Set version information on an archive that can be used for compatibility checks

◆ SetNetworkCustomVersions()

void UNetConnection::SetNetworkCustomVersions ( const FCustomVersionContainer CustomVersions)

◆ SetPackageVersionLicenseeUE()

void UNetConnection::SetPackageVersionLicenseeUE ( int32  InPackageVersionLicenseeUE)
inline

Sets the licensee package version for compatibility purposes

◆ SetPackageVersionUE()

void UNetConnection::SetPackageVersionUE ( FPackageFileVersion  InPackageVersionUE)
inline

Sets the UE package version for compatibility purposes

◆ SetPacketOSReceiveTime()

void UNetConnection::SetPacketOSReceiveTime ( const FPacketTimestamp InOSReceiveTime,
bool  bInIsOSReceiveTimeLocal 
)
inline

Sets the OS/NIC level timestamp, for the last packet that was received

Parameters
InOSReceiveTimeThe OS/NIC level timestamp, for the last packet that was received
bInIsOSReceiveTimeLocalWhether the input timestamp is based on the same clock as the game thread, or needs translating

◆ SetPendingCloseDueToReplicationFailure()

void UNetConnection::SetPendingCloseDueToReplicationFailure ( )

◆ SetPendingCloseDueToSocketSendFailure()

void UNetConnection::SetPendingCloseDueToSocketSendFailure ( )
protected

◆ SetPlayerOnlinePlatformName()

void UNetConnection::SetPlayerOnlinePlatformName ( const FName  InPlayerOnlinePlatformName)

Sets the PlayerOnlinePlatformName member. Called by the engine during the login process with the NMT_Login message parameter.

◆ SetReplay()

void UNetConnection::SetReplay ( bool  bValue)
inline

◆ SetReplicationConnectionDriver()

void UNetConnection::SetReplicationConnectionDriver ( UReplicationConnectionDriver NewReplicationConnectionDriver)
inline

◆ SetReserveDestroyedChannels()

void UNetConnection::SetReserveDestroyedChannels ( bool  bInReserveChannels)

Sets whether or not we should track released channel indices, see also SetIgnoreReservedChannels Should only be used with InternalAck.

◆ SetUnlimitedBunchSizeAllowed()

void UNetConnection::SetUnlimitedBunchSizeAllowed ( bool  bValue)
inline

◆ ShouldReplicateVoicePacketFrom()

bool UNetConnection::ShouldReplicateVoicePacketFrom ( const FUniqueNetId Sender)

Called to determine if a voice packet should be replicated to this connection or any of its child connections

Parameters
Sender- the sender of the voice packet
Returns
true if it should be sent on this connection, false otherwise

◆ SlowAssertValid()

void UNetConnection::SlowAssertValid ( )
inline

Make sure this connection is in a reasonable state.

◆ StartTickingChannel()

void UNetConnection::StartTickingChannel ( UChannel Channel)
inline

Adds the channel to the ticking channels list. USed to selectively tick channels that have queued bunches or are pending dormancy.

◆ StopTickingChannel()

void UNetConnection::StopTickingChannel ( UChannel Channel)
inline

Removes a channel from the ticking list directly

◆ StoreDormantReplicator()

void UNetConnection::StoreDormantReplicator ( AActor OwnerActor,
UObject Object,
const TSharedRef< FObjectReplicator > &  ObjectReplicator 
)

Store a replicator to the dormancy map and release its strong pointer to its object

◆ TearDownReplicationConnectionDriver()

void UNetConnection::TearDownReplicationConnectionDriver ( )
inline

◆ Tick()

void UNetConnection::Tick ( float  DeltaSeconds)
virtual

Poll the connection. If it is timed out, close it.

Reimplemented in UChildConnection, and UReplayNetConnection.

◆ TrackLogsPerSecond()

bool UNetConnection::TrackLogsPerSecond ( )

This function tracks the number of log calls per second for this client, and disconnects the client if it detects too many calls are made per second

◆ TrackReplicationForAnalytics()

void UNetConnection::TrackReplicationForAnalytics ( const bool  bWasSaturated)

Called to notify the connection that we attempted to replicate its actors this frame. This is primarily for analytics book keeping.

Parameters
bWasSaturatedTrue if we failed to replicate all data because we were saturated.

◆ UE_DEPRECATED()

UNetConnection::UE_DEPRECATED ( 5.  4,
"ClientHasInitializedLevelFor is deprecated. Use ClientHasInitializedLevel and pass the actor's level (Actor->GetLevel()) instead."   
) const

returns whether the client has initialized the level required for the given object

Returns
true if the client has initialized the level the object is in or the object is not in a level, false otherwise

◆ UpdateLevelStreamStatusChangedTransactionId()

FNetLevelVisibilityTransactionId UNetConnection::UpdateLevelStreamStatusChangedTransactionId ( const ULevelStreaming LevelObject,
const FName  PackageName,
bool  bShouldBeVisible 
)

Update FNetLevelVisibilityTransactionId for server instigated level streaming

◆ UpdateLevelVisibility()

void UNetConnection::UpdateLevelVisibility ( const struct FUpdateLevelVisibilityLevelInfo LevelVisibility)

Called by PlayerController to tell connection about client level visibility change

◆ WriteBitsToSendBuffer()

int32 UNetConnection::WriteBitsToSendBuffer ( const uint8 Bits,
const int32  SizeInBits,
const uint8 ExtraBits = NULL,
const int32  ExtraSizeInBits = 0,
EWriteBitsDataType  DataType = EWriteBitsDataType::Unknown 
)

Appends the passed in data to the SendBuffer to be sent when FlushNet is called

Parameters
BitsData as bits to be appended to the send buffer
SizeInBitsNumber of bits to append
ExtraBits(optional) Second set of bits to be appended to the send buffer that need to send with the first set of bits
ExtraSizeInBits(optional) Number of secondary bits to append
TypeOfBits(optional) The type of data being written, for profiling and bandwidth tracking purposes

Friends And Related Symbol Documentation

◆ FScopedRepContext

Member Data Documentation

◆ AllowMerge

bool UNetConnection::AllowMerge

◆ AnalyticsVars

FNetConnAnalyticsVars UNetConnection::AnalyticsVars

Net Analytics The locally cached/updated analytics variables, for the NetConnection - aggregated upon connection Close

◆ AverageFrameTime

double UNetConnection::AverageFrameTime

The average frame delta time over the last 1 second period.

◆ AvgLag

float UNetConnection::AvgLag

Average lag seen during the last StatPeriod

◆ bLastHasServerFrameTime

bool UNetConnection::bLastHasServerFrameTime

◆ bNeedsByteSwapping

bool UNetConnection::bNeedsByteSwapping

Whether this channel needs to byte swap all data or not

◆ bPendingDestroy

uint32 UNetConnection::bPendingDestroy

◆ Challenge

FString UNetConnection::Challenge

◆ Channels

TArray<TObjectPtr<UChannel> > UNetConnection::Channels

◆ Children

TArray<TObjectPtr<class UChildConnection> > UNetConnection::Children

child connections for secondary viewports

◆ ClientLoginState

EClientLoginState::Type UNetConnection::ClientLoginState

◆ ClientResponse

FString UNetConnection::ClientResponse

◆ ClientVisibleLevelNames

TSet<FName> UNetConnection::ClientVisibleLevelNames

on the server, the package names of streaming levels that the client has told us it has made visible the server will only replicate references to Actors in visible levels so that it's impossible to send references to Actors the client has not initialized

◆ CountedFrames

int32 UNetConnection::CountedFrames

Nb of stats accumulated in CumulativeTime

◆ CumulativeTime

double UNetConnection::CumulativeTime

Total frames times accumulator

◆ DefaultMaxChannelSize

int32 UNetConnection::DefaultMaxChannelSize

◆ Driver

TObjectPtr<class UNetDriver> UNetConnection::Driver

Owning net driver

◆ ExpectedClientLoginMsgType

uint8 UNetConnection::ExpectedClientLoginMsgType

◆ FrameTime

double UNetConnection::FrameTime

◆ GNetConnectionBeingCleanedUp

UNetConnection * UNetConnection::GNetConnectionBeingCleanedUp = NULL
static

@hack: set to net connection currently inside CleanUp(), for HasClientLoadedCurrentWorld() to be able to find it during PlayerController destruction, since we clear its Player before destroying it. (and that's not easily reversed)

◆ Handler

TUniquePtr<PacketHandler> UNetConnection::Handler

PacketHandler, for managing layered handler components, which modify packets as they are sent/received

◆ InBytes

int32 UNetConnection::InBytes

bytes sent/received on this connection (accumulated during a StatPeriod)

◆ InBytesPerSecond

int32 UNetConnection::InBytesPerSecond

bytes sent/received on this connection (per second) - these are from previous StatPeriod interval

◆ InitConnection

void UNetConnection::InitConnection

Initialize this connection instance from a remote source

Parameters
InDriverthe net driver associated with this connection
InSocketthe socket associated with this connection
InURLthe URL to init with
InRemoteAddrthe remote address for this connection
InStatethe connection state to start with for this connection
InMaxPacketthe max packet size that will be used for sending
InPacketOverheadthe packet overhead for this connection type Initialize this connection instance to a remote source
InDriverthe net driver associated with this connection
InSocketthe socket associated with this connection
InURLthe URL to init with
InRemoteAddrthe remote address for this connection
InStatethe connection state to start with for this connection
InMaxPacketthe max packet size that will be used for sending
InPacketOverheadthe packet overhead for this connection type Initializes an "addressless" connection with the passed in settings
InDriverthe net driver associated with this connection
InStatethe connection state to start with for this connection
InURLthe URL to init with
InConnectionSpeedOptional connection speed override

Initializes an "addressless" connection with the passed in settings

Parameters
InDriverthe net driver associated with this connection
InStatethe connection state to start with for this connection
InURLthe URL to init with
InConnectionSpeedOptional connection speed override

◆ InitInReliable

int32 UNetConnection::InitInReliable

◆ InitOutReliable

int32 UNetConnection::InitOutReliable

◆ InPacketId

int32 UNetConnection::InPacketId

◆ InPackets

int32 UNetConnection::InPackets

packets sent/received on this connection (accumulated during a StatPeriod)

◆ InPacketsLost

int32 UNetConnection::InPacketsLost

packets lost on this connection (accumulated during a StatPeriod)

◆ InPacketsPerSecond

int32 UNetConnection::InPacketsPerSecond

packets sent/received on this connection (per second) - these are from previous StatPeriod interval

◆ InPacketsThisFrame

int32 UNetConnection::InPacketsThisFrame = 0

Packets received in the current tick

◆ InReliable

TArray<int32> UNetConnection::InReliable

◆ InTotalBytes

int32 UNetConnection::InTotalBytes

total bytes sent/received on this connection

◆ InTotalPackets

int32 UNetConnection::InTotalPackets

total packets sent/received on this connection

◆ InTotalPacketsLost

int32 UNetConnection::InTotalPacketsLost

total packets lost on this connection

◆ KeepProcessingActorChannelBunchesMap

TMap<FNetworkGUID, TArray<TObjectPtr<class UActorChannel> > > UNetConnection::KeepProcessingActorChannelBunchesMap

This holds a list of actor channels that want to fully shutdown, but need to continue processing bunches before doing so

◆ LagAcc

double UNetConnection::LagAcc

Total accumulated lag values during the current StatPeriod

◆ LagCount

int32 UNetConnection::LagCount

Nb of stats accumulated in LagAcc

◆ LastEnd

FBitWriterMark UNetConnection::LastEnd

◆ LastGoodPacketRealtime

double UNetConnection::LastGoodPacketRealtime

◆ LastOut

FOutBunch UNetConnection::LastOut

◆ LastOutBunch

FOutBunch* UNetConnection::LastOutBunch

◆ LastProcessedFrame

uint32 UNetConnection::LastProcessedFrame

The last frame where we gathered and processed actors for this connection

◆ LastReceiveRealtime

double UNetConnection::LastReceiveRealtime

◆ LastReceiveTime

double UNetConnection::LastReceiveTime

◆ LastSendTime

double UNetConnection::LastSendTime

◆ LastStart

FBitWriterMark UNetConnection::LastStart

◆ LastTickTime

double UNetConnection::LastTickTime

◆ LastTime

double UNetConnection::LastTime

Monitors frame time

◆ LogCallCount

int32 UNetConnection::LogCallCount

◆ LogCallLastTime

double UNetConnection::LogCallLastTime

◆ LogSustainedCount

int32 UNetConnection::LogSustainedCount

◆ LowLevelDescribe

virtual FString UNetConnection::LowLevelDescribe() PURE_VIRTUAL(UNetConnection
Returns
the description of connection

◆ LowLevelGetRemoteAddress

virtual FString UNetConnection::LowLevelGetRemoteAddress(bool bAppendPort=false) PURE_VIRTUAL(UNetConnection
Returns
the remote machine address

◆ LowLevelSendDel

FOnLowLevelSend UNetConnection::LowLevelSendDel

Delegate for hooking LowLevelSend

◆ MaxPacket

int32 UNetConnection::MaxPacket

◆ MaxPacketHandlerBits

int32 UNetConnection::MaxPacketHandlerBits

The maximum number of bits all packet handlers will reserve

◆ NetAnalyticsData

TNetAnalyticsDataPtr<FNetConnAnalyticsData> UNetConnection::NetAnalyticsData

The net analytics data holder for the NetConnection analytics, which is where analytics variables are aggregated upon Close

◆ NetworkCongestionControl

TOptional<FNetworkCongestionControl> UNetConnection::NetworkCongestionControl
protected

◆ NumAckBits

int UNetConnection::NumAckBits

Number of bits used for acks in the current packet.

◆ NumBunchBits

int UNetConnection::NumBunchBits

Number of bits used for bunches in the current packet.

◆ NumPacketIdBits

int UNetConnection::NumPacketIdBits

Number of bits used for the packet id in the current packet.

◆ NumPaddingBits

int UNetConnection::NumPaddingBits

Number of bits used for padding in the current packet.

◆ OpenChannels

TArray<TObjectPtr<class UChannel> > UNetConnection::OpenChannels

◆ OutAckPacketId

int32 UNetConnection::OutAckPacketId

◆ OutBytes

int32 UNetConnection::OutBytes

◆ OutBytesPerSecond

int32 UNetConnection::OutBytesPerSecond

◆ OutBytesPerSecondHistory

uint8 UNetConnection::OutBytesPerSecondHistory[256]

◆ OutLagPacketId

int32 UNetConnection::OutLagPacketId[256]

◆ OutLagTime

double UNetConnection::OutLagTime[256]

◆ OutPacketId

int32 UNetConnection::OutPacketId

◆ OutPackets

int32 UNetConnection::OutPackets

◆ OutPacketsLost

int32 UNetConnection::OutPacketsLost

◆ OutPacketsPerSecond

int32 UNetConnection::OutPacketsPerSecond

◆ OutPacketsThisFrame

int32 UNetConnection::OutPacketsThisFrame = 0

Packets sent in the current tick

◆ OutReliable

TArray<int32> UNetConnection::OutReliable

◆ OutTotalAcks

int32 UNetConnection::OutTotalAcks

total acks sent on this connection

◆ OutTotalBytes

int32 UNetConnection::OutTotalBytes

◆ OutTotalPackets

int32 UNetConnection::OutTotalPackets

◆ OutTotalPacketsLost

int32 UNetConnection::OutTotalPacketsLost

◆ OwningActor

TObjectPtr<class AActor> UNetConnection::OwningActor

Reference to controlling actor (usually PlayerController)

◆ PackageMap

TObjectPtr<class UPackageMap> UNetConnection::PackageMap

Package map between local and remote. (negotiates net serialization)

◆ PackageMapClass

TSubclassOf<UPackageMap> UNetConnection::PackageMapClass

The class name for the PackageMap to be loaded

◆ PacketOverhead

int32 UNetConnection::PacketOverhead

◆ PendingOutRec

TArray<int32> UNetConnection::PendingOutRec

◆ PlayerId

FUniqueNetIdRepl UNetConnection::PlayerId

Net id of remote player on this connection. Only valid on client connections (server side).

◆ QueuedBits

int32 UNetConnection::QueuedBits

The amount of bits allowed to be sent in a given tick to respect the bandwidth per second net speed. Starts negative and increases with every serialized bits. When >0 it means we sent more bits then allowed. Set at the end of every Tick based on the data sent that tick.

◆ RawPingInSeconds

double UNetConnection::RawPingInSeconds = 0.0

The raw ping value of the last packet the connection processed

◆ ReceivedRawPacketDel

FOnReceivedRawPacket UNetConnection::ReceivedRawPacketDel

Delegate for hooking ReceivedRawPacket

◆ RemoteAddr

TSharedPtr<FInternetAddr> UNetConnection::RemoteAddr

The remote address of this connection, typically generated from the URL.

◆ RequestURL

FString UNetConnection::RequestURL

◆ ResendAllDataState

EResendAllDataState UNetConnection::ResendAllDataState

This functionality is used during replay checkpoints for example, so we can re-use the existing connection and channels to record a version of each actor and capture all properties that have changed since the actor has been alive... This will also act as if it needs to re-open all the channels, etc. NOTE - This doesn't force all exports to happen again though, it will only export new stuff, so keep that in mind.

◆ ResponseId

int32 UNetConnection::ResponseId

◆ SendBuffer

FBitWriter UNetConnection::SendBuffer

◆ SendBunchHeader

FBitWriter UNetConnection::SendBunchHeader

The singleton buffer for sending bunch header information

◆ SentTemporaries

TArray<TObjectPtr<class AActor> > UNetConnection::SentTemporaries

This actor is bNetTemporary, which means it should never be replicated after it's initial packet is complete

◆ StatelessConnectComponent

TWeakPtr<StatelessConnectHandlerComponent> UNetConnection::StatelessConnectComponent

Reference to the PacketHandler component, for managing stateless connection handshakes

◆ StatPeriod

float UNetConnection::StatPeriod

Interval between gathering stats

◆ StatUpdateTime

double UNetConnection::StatUpdateTime

Time of last stat update

◆ TickCount

int32 UNetConnection::TickCount

Count of ticks.

◆ TimeSensitive

bool UNetConnection::TimeSensitive

◆ TotalDelayedRPCs

int32 UNetConnection::TotalDelayedRPCs = 0

Delayed RPCs and the total average frame delay

◆ TotalDelayedRPCsFrameCount

int32 UNetConnection::TotalDelayedRPCsFrameCount = 0

◆ URL

struct FURL UNetConnection::URL

◆ ValidateSendBuffer

void UNetConnection::ValidateSendBuffer

Sends a byte stream to the remote endpoint using the underlying socket

Parameters
DataThe byte stream to send
CountBitsThe length of the stream to send, in bits (to support bit-level additions to packets, from PacketHandler's)
TraitsSpecial traits for the packet, passed down from the NetConnection through the PacketHandler Validates the FBitWriter to make sure it's not in an error state

◆ ViewTarget

TObjectPtr<class AActor> UNetConnection::ViewTarget

The actor that is currently being viewed/controlled by the owning controller


The documentation for this class was generated from the following files: