39#include "NetConnection.generated.h"
41#define NETCONNECTION_HAS_SETENCRYPTIONKEY 1
59 class FNetConnectionFaultRecovery;
60 struct FStatelessHandshakeFailureInfo;
71#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
133 return TEXT(
"Invalid");
137 return TEXT(
"LoggingIn");
141 return TEXT(
"Welcomed");
145 return TEXT(
"ReceivedJoin");
149 return TEXT(
"CleanedUp");
165#if !UE_BUILD_SHIPPING
186#if DO_ENABLE_NET_TEST
219 Data.AddUninitialized(SizeBytes);
333 int32 NextServerNetPlayerIndex = 1;
336 bool IsInternalAck()
const {
return bInternalAck; }
339 bInternalAck = bValue;
341 InternalAck = bValue;
356 bForceInitialDirty = bValue;
368 bUnlimitedBunchSizeAllowed = bValue;
377 uint32 bForceInitialDirty : 1;
378 uint32 bUnlimitedBunchSizeAllowed : 1;
404 void ResetPacketBitCounts();
431 uint32 ClientHandshakeId = 0;
459 FString ClientResponse;
471 double LastReceiveTime;
472 double LastReceiveRealtime;
473 double LastGoodPacketRealtime;
490 double GetLastRecvAckTime()
const {
return LastRecvAckTimestamp; }
495 double LastRecvAckTimestamp;
498 double ConnectTimestamp;
501 bool bIsOSReceiveTimeLocal;
504 bool bSendBufferHasDummyPacketInfo =
false;
510 int32 PreviousJitterTimeDelta;
513 double PreviousPacketSendTimeInS;
550 double RawPingInSeconds = 0.0;
582 int32 TotalDelayedRPCsFrameCount = 0;
586 int32 InTotalHandlerPackets;
589 double GracefulCloseTimeoutDeadline = 0.0;
594 return InTotalHandlerPackets;
605 FNetConnectionPacketLoss InPacketsLossPercentage;
606 FNetConnectionPacketLoss OutPacketsLossPercentage;
609 int32 StatPeriodCount;
617 float AverageJitterInMS;
631 double OutLagTime[256];
633 uint8 OutBytesPerSecondHistory[256];
639 int32 OutFirstAckPacketId = -1;
657 uint32 GetNetworkCustomVersion(const
FGuid& VersionGuid) const;
666 double LogCallLastTime;
671 UE::Net::FConnectionHandle GetConnectionHandle()
const
673 return ConnectionHandle;
682 UE_DEPRECATED(5.6,
"External code should not be setting connection IDs. For valid use cases SetConnectionHandle() should be used instead.")
697 AActor* GetConnectionViewTarget() const;
705 ActorChannels.Remove(
Actor);
706 if (ReplicationConnectionDriver)
708 ReplicationConnectionDriver->NotifyActorChannelRemoved(
Actor);
714 ActorChannels.Add(
Actor, Channel);
715 if (ReplicationConnectionDriver)
717 ReplicationConnectionDriver->NotifyActorChannelAdded(
Actor, Channel);
723 return ActorChannels.FindRef(
Actor);
728 return ActorChannels.Find(
Actor);
733 return ActorChannels.Contains(
Actor);
738 return ActorChannels.Num();
743 return ActorChannels.CreateConstIterator();
748 return ActorChannels;
753 return ReplicationConnectionDriver;
763 if (ReplicationConnectionDriver)
765 ReplicationConnectionDriver->TearDown();
766 ReplicationConnectionDriver =
nullptr;
780 int32 PackageVersionLicenseeUE;
796 void SetNetVersionsOnArchive(
FArchive& Ar)
const;
800 if (Driver && Driver->GetReplicationSystem())
804 if (ReplicationConnectionDriver)
806 ReplicationConnectionDriver->NotifyAddDestructionInfo(DestructionInfo);
810 DestroyedStartupOrDormantActorGUIDs.Add(DestructionInfo->
NetGUID);
816 if (Driver && Driver->GetReplicationSystem())
820 if (ReplicationConnectionDriver)
822 ReplicationConnectionDriver->NotifyRemoveDestructionInfo(DestructionInfo);
826 DestroyedStartupOrDormantActorGUIDs.Remove(DestructionInfo->
NetGUID);
832 if (Driver && Driver->GetReplicationSystem())
836 if (ReplicationConnectionDriver)
838 ReplicationConnectionDriver->NotifyResetDestructionInfo();
842 DestroyedStartupOrDormantActorGUIDs.Reset();
887#if DO_ENABLE_NET_TEST
936#if !UE_BUILD_SHIPPING
1011#if UE_ALLOW_EXEC_COMMANDS
1287 return TEXT(
"Invalid");
1327 UE_DEPRECATED(5.4,
"ClientHasInitializedLevelFor is deprecated. Use ClientHasInitializedLevel and pass the actor's level (Actor->GetLevel()) instead.")
1445 return IsInternalAck() || Driver->ServerConnection !=
nullptr || InReliable[0] != InitInReliable;
1458 void SetAllowExistingChannelIndex(
bool bAllow);
1500 void CleanupDormantReplicatorsForActor(
AActor*
Actor);
1509 void CleanupStaleDormantReplicators();
1512 void PreTickDispatch();
1515 void PostTickDispatch();
1531 return TotalOutOfOrderPacketsLost + TotalOutOfOrderPacketsRecovered + TotalOutOfOrderPacketsDuplicate;
1541 return TotalOutOfOrderPacketsLost;
1551 return TotalOutOfOrderPacketsRecovered;
1561 return TotalOutOfOrderPacketsDuplicate;
1590 ENGINE_API void ResetQueuedActorDelinquencyAnalytics();
1632 ENGINE_API void SendChallengeControlMessage();
1639 return bConnectionPendingCloseDueToReplicationFailure;
1642 ENGINE_API void SetPendingCloseDueToReplicationFailure();
1656 return bConnectionPendingCloseDueToSocketSendFailure;
1659 ENGINE_API void SetPendingCloseDueToSocketSendFailure();
1661 void CleanupDormantActorState();
1663 void ClearDormantReplicatorsReference();
1666 ENGINE_API virtual void DestroyOwningActor();
1672 ENGINE_API virtual void HandleConnectionTimeout(
const FString&
Error);
1698 FName PlayerOnlinePlatformName;
1718 bool UpdateCachedLevelVisibility(const
FName& PackageName) const;
1721 void UpdateAllCachedLevelVisibility() const;
1724#if DO_ENABLE_NET_TEST
1732#if DO_ENABLE_NET_TEST
1741 void WriteDummyPacketInfo(
FBitWriter& Writer);
1760 int32 WriteBitsToSendBufferInternal(
1765 EWriteBitsDataType DataType = EWriteBitsDataType::Unknown);
1771 FName ClientWorldPackageName;
1782 bool bAllowExistingChannelIndex;
1790 bool bIgnoreActorBunches;
1795 bool bReserveDestroyedChannels;
1796 bool bIgnoreReservedChannels;
1808 int32 LastNotifiedPacketId;
1811 uint32 OutTotalNotifiedPackets;
1817 bool bHasWarnedAboutChannelLimit;
1820 bool bConnectionPendingCloseDueToSocketSendFailure;
1823 bool bConnectionPendingCloseDueToReplicationFailure;
1830 int32 TotalOutOfOrderPacketsLost = 0;
1833 int32 TotalOutOfOrderPacketsRecovered = 0;
1836 int32 TotalOutOfOrderPacketsDuplicate = 0;
1842 int32 PacketOrderCacheStartIdx;
1845 int32 PacketOrderCacheCount;
1851 bool bFlushingPacketOrderCache;
1856#if UE_NET_TRACE_ENABLED
1866 bool bFlushedNetThisFrame =
false;
1877 bool bLoggedFlushNetQueuedBitsOverflow =
false;
1886 bool bReceivedCloseReason =
false;
1895 int32 GetFreeChannelIndex(
const FName& ChName)
const;
1911 return FaultRecovery.
Get();
1916 return NetPing.Get();
1936 ENGINE_API void SendCloseReason(FNetResult&& CloseReason);
1967 void TryClosePendingGracefulClose();
1972 void InitChannelData();
1976 ConnectionHandle =
Handle;
1994 void ClearDormantFlushedObjectsForActor(
AActor*
Actor);
2007 check(!Connection->RepContextActor);
2008 check(!Connection->RepContextLevel);
2010 Connection->RepContextLevel =
InLevel;
2018 Connection->RepContextActor =
nullptr;
2019 Connection->RepContextLevel =
nullptr;
2037#if DO_ENABLE_NET_TEST
2054#if DO_ENABLE_NET_TEST
2055 Connection->PacketSimulationSettings.PktLag =
PacketLag;
2056 Connection->PacketSimulationSettings.PktLoss =
PacketLoss;
2117#if UE_NET_TRACE_ENABLED
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define GLog
Definition CoreGlobals.h:95
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
EChannelCloseReason
Definition CoreNetTypes.h:49
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
EChannelCreateFlags
Definition Channel.h:41
return true
Definition ExternalRpcRegistry.cpp:601
auto Response
Definition ExternalRpcRegistry.cpp:598
#define LLM_DECLARE_TAG_API(...)
Definition LowLevelMemTracker.h:1117
ENetCloseResult
Definition NetCloseResult.h:24
EResendAllDataState
Definition NetConnection.h:158
@ MAX_PACKET_RELIABLE_SEQUENCE_HEADER_BITS
Definition NetConnection.h:85
TMap< TWeakObjectPtr< AActor >, UActorChannel *, FDefaultSetAllocator, TWeakObjectPtrMapKeyFuncs< TWeakObjectPtr< AActor >, UActorChannel * > > FActorChannelMap
Definition NetConnection.h:64
@ MAX_PACKETID
Definition NetConnection.h:82
ENGINE_API TAutoConsoleVariable< int32 > CVarNetEnableCongestionControl
@ MAX_CHSEQUENCE
Definition NetConnection.h:83
TArray< FChannelCloseInfo, TInlineAllocator< 8 > > FChannelsToClose
Definition NetConnection.h:256
@ MAX_PACKET_HEADER_BITS
Definition NetConnection.h:87
EConnectionState
Definition NetConnection.h:94
@ USOCK_Closing
Definition NetConnection.h:99
@ USOCK_Closed
Definition NetConnection.h:96
@ USOCK_Invalid
Definition NetConnection.h:95
@ USOCK_Pending
Definition NetConnection.h:97
@ USOCK_Open
Definition NetConnection.h:98
@ MAX_PACKET_INFO_HEADER_BITS
Definition NetConnection.h:86
@ MAX_PACKET_TRAILER_BITS
Definition NetConnection.h:88
ENGINE_API const TCHAR * LexToString(const EConnectionState Value)
Definition NetConnection.cpp:1052
@ MAX_BUNCH_HEADER_BITS
Definition NetConnection.h:84
@ RELIABLE_BUFFER
Definition NetConnection.h:81
EEngineNetworkRuntimeFeatures
Definition NetworkVersion.h:45
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
if(Failed) console_printf("Failed.\n")
Definition PlayerController.h:261
Definition Engine.Build.cs:7
Definition Archive.h:1208
virtual void CountBytes(SIZE_T InNum, SIZE_T InMax)
Definition Archive.h:125
Definition CustomVersion.h:111
Definition ContainerAllocationPolicies.h:1660
Definition EngineVersion.h:12
virtual CORE_API bool Exec(UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
Definition Exec.cpp:30
Definition DataBunch.h:127
Definition IPAddress.h:22
virtual void GetPort(int32 &OutPort) const
Definition IPAddress.h:86
virtual FString ToString(bool bAppendPort) const =0
Definition NameTypes.h:617
Definition NetPacketNotify.h:39
Definition NetworkGuid.h:12
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition DataReplication.h:74
Definition DataBunch.h:24
Definition OutputDevice.h:133
Definition RPCDoSDetection.h:419
Definition UObjectGlobals.h:2492
Definition CoreOnline.h:102
Definition ObjectMacros.h:180
Definition PacketHandler.Build.cs:7
Definition StatelessConnectHandlerComponent.h:119
Definition IConsoleManager.h:1792
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition ResizableCircularQueue.h:21
static constexpr SIZE_T MaxSizeInBits
Definition SequenceHistory.h:21
@ SeqNumberCount
Definition SequenceNumber.h:22
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SharedPointer.h:153
Definition SubclassOf.h:30
Definition UniquePtr.h:107
UE_FORCEINLINE_HINT T * Get() const
Definition UniquePtr.h:324
Definition SharedPointer.h:1295
Definition ActorChannel.h:78
int32 ChIndex
Definition Channel.h:86
virtual void ReceivedBunch(FInBunch &Bunch) PURE_VIRTUAL(UChannel virtual ENGINE_API void ReceivedAck(int32 AckPacketId)
Definition Channel.h:120
Definition ChildConnection.h:28
Definition ConnectionHandle.h:17
uint32 GetParentConnectionId() const
Definition ConnectionHandle.h:78
Definition LevelStreaming.h:139
Definition LocalPlayer.h:169
Definition NetConnection.h:284
TMap< FNetworkGUID, TArray< TObjectPtr< class UActorChannel > > > KeepProcessingActorChannelBunchesMap
Definition NetConnection.h:863
ENGINE_API void EnableEncryptionServer(const FEncryptionData &EncryptionData)
Definition NetConnection.cpp:853
ENGINE_API void SetEncryptionData(const FEncryptionData &EncryptionData)
Definition NetConnection.cpp:879
TSet< FName > ClientVisibleLevelNames
Definition NetConnection.h:880
void AddReservedChannel(int32 ChIndex)
Definition NetConnection.h:1479
double StatUpdateTime
Definition NetConnection.h:528
virtual ENGINE_API FString Describe()
Definition NetConnection.cpp:1344
virtual ENGINE_API void ReceivedPacket(FBitReader &Reader, bool bIsReinjectedPacket=false, bool bDispatchPacket=true)
Definition NetConnection.cpp:3143
FNetConnAnalyticsVars AnalyticsVars
Definition NetConnection.h:624
void AddDestructionInfo(FActorDestructionInfo *DestructionInfo)
Definition NetConnection.h:798
virtual UChildConnection * GetUChildConnection()
Definition NetConnection.h:1023
FOnReceivedRawPacket ReceivedRawPacketDel
Definition NetConnection.h:938
virtual FString RemoteAddressToString()
Definition NetConnection.h:1281
float AvgLag
Definition NetConnection.h:533
bool HasReceivedClientPacket()
Definition NetConnection.h:1441
bool IsReservingDestroyedChannels() const
Definition NetConnection.h:1477
const FActorChannelMap & ActorChannelMap() const
Definition NetConnection.h:746
FBitWriter SendBunchHeader
Definition NetConnection.h:524
bool IsReplay() const
Definition NetConnection.h:345
TSharedPtr< FInternetAddr > RemoteAddr
Definition NetConnection.h:384
int NumPaddingBits
Definition NetConnection.h:398
void TearDownReplicationConnectionDriver()
Definition NetConnection.h:761
void ReceivedNak(int32 NakPacketId)
Definition NetConnection.cpp:2751
virtual void GracefulClose(FNetCloseResult &&CloseReason)
Definition NetConnection.h:1172
AActor * GetRepContextActor() const
Definition NetConnection.h:1898
int NumBunchBits
Definition NetConnection.h:392
TArray< FOutBunch * > & GetOutgoingBunches()
Definition NetConnection.h:1488
bool GetPendingCloseDueToReplicationFailure() const
Definition NetConnection.h:1637
void SetAutoFlush(bool bValue)
Definition NetConnection.h:1902
virtual ENGINE_API void InitBase(UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0)
Definition NetConnection.cpp:464
virtual ENGINE_API void DispatchPacket(FBitReader &Reader, int32 PacketId, bool &bOutSkipAck, bool &bOutHasBunchErrors)
Definition NetConnection.cpp:3496
TWeakPtr< StatelessConnectHandlerComponent > StatelessConnectComponent
Definition NetConnection.h:447
FActorChannelMap::TConstIterator ActorChannelConstIterator() const
Definition NetConnection.h:741
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)
Definition NetConnection.h:1226
virtual TSharedPtr< const FInternetAddr > GetRemoteAddr()
Definition NetConnection.h:1129
void SetPackageVersionLicenseeUE(int32 InPackageVersionLicenseeUE)
Definition NetConnection.h:790
int32 OutAckPacketId
Definition NetConnection.h:636
FName GetClientWorldPackageName() const
Definition NetConnection.h:871
const FNetConnectionPacketLoss & GetOutLossPercentage() const
Definition NetConnection.h:600
ENGINE_API void SendClientEncryptionAck()
Definition NetConnection.cpp:866
UReplicationConnectionDriver * GetReplicationConnectionDriver()
Definition NetConnection.h:751
ENGINE_API UChildConnection * CreateChildWithNetPlayerIndex(int32 NetPlayerIndex)
Definition NetConnection.cpp:5225
int32 InPacketId
Definition NetConnection.h:634
static ENGINE_API void AddReferencedObjects(UObject *InThis, FReferenceCollector &Collector)
Definition NetConnection.cpp:1633
void SetForceInitialDirty(bool bValue)
Definition NetConnection.h:354
TObjectPtr< class UNetDriver > Driver
Definition NetConnection.h:297
virtual ENGINE_API bool IsNetReady() const
Definition NetConnection.cpp:2651
virtual ENGINE_API void AssertValid()
Definition NetConnection.cpp:1687
virtual ENGINE_API void FlushNet(bool bIgnoreSimulation=false)
Definition NetConnection.cpp:2338
virtual FString LowLevelGetRemoteAddress(bool bAppendPort=false) PURE_VIRTUAL(UNetConnection
Definition NetConnection.h:1029
void SetReplay(bool bValue)
Definition NetConnection.h:346
FOutBunch * LastOutBunch
Definition NetConnection.h:521
bool ContainsActorChannel(const TWeakObjectPtr< AActor > &Actor)
Definition NetConnection.h:731
FBitWriterMark LastStart
Definition NetConnection.h:517
TUniquePtr< PacketHandler > Handler
Definition NetConnection.h:444
ENGINE_API int32 SendRawBunch(FOutBunch &Bunch, bool InAllowMerge, const FNetTraceCollector *BunchCollector)
Definition NetConnection.cpp:4391
TSet< FNetworkGUID > & GetDestroyedStartupOrDormantActorGUIDs()
Definition NetConnection.h:846
FBitWriterMark LastEnd
Definition NetConnection.h:518
int32 GetTotalOutOfOrderPackets() const
Definition NetConnection.h:1529
int32 LagCount
Definition NetConnection.h:538
FNetTraceCollector * GetInTraceCollector() const
Definition NetConnection.h:2121
int32 InPackets
Definition NetConnection.h:563
void SetPackageVersionUE(FPackageFileVersion InPackageVersionUE)
Definition NetConnection.h:787
void Close(FNetCloseResult &&CloseReason)
Definition NetConnection.h:1145
int32 InTotalPacketsLost
Definition NetConnection.h:577
int32 GetTotalOutOfOrderPacketsRecovered() const
Definition NetConnection.h:1549
const UNetDriver * GetDriver() const
Definition NetConnection.h:1350
ENGINE_API bool GetNetPlayerIndex(UChildConnection *ChildConnection, int32 *OutNetPlayerIndex)
Definition NetConnection.cpp:5189
UE::Net::FNetConnectionFaultRecovery * GetFaultRecovery()
Definition NetConnection.h:1909
bool bNeedsByteSwapping
Definition NetConnection.h:451
virtual void LowLevelSend(void *Data, int32 CountBits, FOutPacketTraits &Traits) PURE_VIRTUAL(UNetConnection virtual ENGINE_API voi ValidateSendBuffer)()
Definition NetConnection.h:1049
FBitWriter SendBuffer
Definition NetConnection.h:630
EWriteBitsDataType
Definition NetConnection.h:408
int32 GetTotalOutOfOrderPacketsDuplicate() const
Definition NetConnection.h:1559
static class UNetConnection * GNetConnectionBeingCleanedUp
Definition NetConnection.h:985
virtual ENGINE_API void NotifyAnalyticsProvider()
Definition NetConnection.cpp:807
virtual ENGINE_API bool IsEncryptionEnabled() const
Definition NetConnection.cpp:915
FOnLowLevelSend LowLevelSendDel
Definition NetConnection.h:941
void PopLastStart()
Definition NetConnection.cpp:4375
float StatPeriod
Definition NetConnection.h:530
bool IsForceInitialDirty() const
Definition NetConnection.h:353
double FrameTime
Definition NetConnection.h:541
void StopTickingChannel(UChannel *Channel)
Definition NetConnection.h:1434
ENGINE_API UChildConnection * CreateChild(int32 *OutNetPlayerIndex)
Definition NetConnection.cpp:5208
bool AllowMerge
Definition NetConnection.h:519
FNetTraceCollector * GetOutTraceCollector() const
Definition NetConnection.h:2122
void SetPacketOSReceiveTime(const FPacketTimestamp &InOSReceiveTime, bool bInIsOSReceiveTimeLocal)
Definition NetConnection.h:1570
virtual ENGINE_API bool ClientHasInitializedLevel(const ULevel *TestLevel) const
Definition NetConnection.cpp:1726
double CumulativeTime
Definition NetConnection.h:544
void SetUnlimitedBunchSizeAllowed(bool bValue)
Definition NetConnection.h:366
void SetConnectionHandle(UE::Net::FConnectionHandle Handle)
Definition NetConnection.h:1974
virtual FString LowLevelDescribe() PURE_VIRTUAL(UNetConnection
Definition NetConnection.h:1032
bool bLastHasServerFrameTime
Definition NetConnection.h:643
void Close()
Definition NetConnection.h:1135
int32 InBytes
Definition NetConnection.h:559
int32 GetMaxSingleBunchSizeBits() const
Definition NetConnection.h:1343
int NumPacketIdBits
Definition NetConnection.h:389
virtual ENGINE_API ~UNetConnection()
DECLARE_MULTICAST_DELEGATE_ThreeParams(FOnConnectionOpened, UNetConnection *, APlayerController *, UNetConnection *)
uint32 GetOutTotalNotifiedPackets() const
Definition NetConnection.h:1629
int NumAckBits
Definition NetConnection.h:395
virtual int32 GetAddrPort(void)
Definition NetConnection.h:1088
bool GetAutoFlush() const
Definition NetConnection.h:1901
double AverageFrameTime
Definition NetConnection.h:547
float GetAverageJitterInMS() const
Definition NetConnection.h:553
int32 ActorChannelsNum() const
Definition NetConnection.h:736
double LagAcc
Definition NetConnection.h:536
void ResetDestructionInfos()
Definition NetConnection.h:830
void RemoveDestructionInfo(FActorDestructionInfo *DestructionInfo)
Definition NetConnection.h:814
int32 WriteBitsToSendBuffer(const uint8 *Bits, const int32 SizeInBits, const uint8 *ExtraBits=NULL, const int32 ExtraSizeInBits=0, EWriteBitsDataType DataType=EWriteBitsDataType::Unknown)
Definition NetConnection.cpp:4347
bool IsUnlimitedBunchSizeAllowed() const
Definition NetConnection.h:365
TOptional< FNetworkCongestionControl > NetworkCongestionControl
Definition NetConnection.h:1970
UActorChannel ** FindActorChannel(const TWeakObjectPtr< AActor > &Actor)
Definition NetConnection.h:726
void SendCloseReason(FNetCloseResult &&CloseReason)
Definition NetConnection.h:1925
ENGINE_API void RemoveChild(UChildConnection *ChildConnection)
Definition NetConnection.cpp:5245
ENGINE_API void EnableEncryption()
Definition NetConnection.cpp:897
UActorChannel * FindActorChannelRef(const TWeakObjectPtr< AActor > &Actor)
Definition NetConnection.h:721
virtual ENGINE_API TSharedPtr< FObjectReplicator > CreateReplicatorForNewActorChannel(UObject *Object)
Definition NetConnection.cpp:4384
void SetReplicationConnectionDriver(UReplicationConnectionDriver *NewReplicationConnectionDriver)
Definition NetConnection.h:756
void ReadInput(float DeltaSeconds)
Definition NetConnection.cpp:2678
void SlowAssertValid()
Definition NetConnection.h:1376
EResendAllDataState ResendAllDataState
Definition NetConnection.h:934
void AddActorChannel(AActor *Actor, UActorChannel *Channel)
Definition NetConnection.h:712
TNetAnalyticsDataPtr< FNetConnAnalyticsData > NetAnalyticsData
Definition NetConnection.h:627
int32 SendRawBunch(FOutBunch &Bunch, bool InAllowMerge)
Definition NetConnection.h:1340
int32 CountedFrames
Definition NetConnection.h:556
int64 GetFreeSendBufferBits()
Definition NetConnection.cpp:4362
TMap< FString, TArray< float > > & GetActorsStarvedByClassTimeMap()
Definition NetConnection.h:415
ENGINE_API UChannel * CreateChannelByName(const FName &ChName, EChannelCreateFlags CreateFlags, int32 ChannelIndex=INDEX_NONE)
Definition NetConnection.cpp:4548
FHistogram GetNetHistogram() const
Definition NetConnection.h:1438
UE::Net::FNetPing * GetNetPing()
Definition NetConnection.h:1914
int32 InPacketsPerSecond
Definition NetConnection.h:573
virtual ENGINE_API void InitSendBuffer()
Definition NetConnection.cpp:2031
bool GetPendingCloseDueToSocketSendFailure() const
Definition NetConnection.h:1654
ENGINE_API void GracefulClose(FNetResult &&CloseReason)
Definition NetConnection.cpp:1141
int32 InTotalBytes
Definition NetConnection.h:561
virtual ENGINE_API void FinishDestroy() override
Definition NetConnection.cpp:1623
int32 MaxPacket
Definition NetConnection.h:324
virtual ENGINE_API void InitSequence(int32 IncomingSequence, int32 OutgoingSequence)
Definition NetConnection.cpp:763
virtual void NotifyActorNetGUID(UActorChannel *Channel)
Definition NetConnection.h:1577
const FNetConnectionPacketLoss & GetInLossPercentage() const
Definition NetConnection.h:599
virtual ENGINE_API void ReceivedRawPacket(void *Data, int32 Count)
Definition NetConnection.cpp:2056
virtual ENGINE_API UWorld * GetWorld() const override
Definition NetConnection.cpp:1656
int32 OutTotalAcks
Definition NetConnection.h:579
void SetEngineVersion(const FEngineVersion &InEngineVersion)
Definition NetConnection.h:793
int32 InBytesPerSecond
Definition NetConnection.h:571
virtual ENGINE_API void HandleClientPlayer(class APlayerController *PC, class UNetConnection *NetConnection)
Definition NetConnection.cpp:5075
UNetDriver * GetDriver()
Definition NetConnection.h:1349
int32 GetTotalOutOfOrderPacketsLost() const
Definition NetConnection.h:1539
const TSet< FName > & GetClientMakingVisibleLevelNames() const
Definition NetConnection.h:885
FRPCDoSDetection * GetRPCDoS()
Definition NetConnection.h:1904
int32 InPacketsLost
Definition NetConnection.h:575
int32 InTotalPackets
Definition NetConnection.h:569
void ResetActorsStarvedByClassTimeMap()
Definition NetConnection.h:418
int32 GetNumTickingChannels() const
Definition NetConnection.h:1436
ENGINE_API UChildConnection * GetChildConnectionWithNetPlayerIndex(const int32 NetPlayerIndex)
Definition NetConnection.cpp:5175
FOutBunch LastOut
Definition NetConnection.h:522
virtual ENGINE_API void CleanUp()
Definition NetConnection.cpp:1364
virtual bool IsReplayReady() const
Definition NetConnection.h:351
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
int32 MaxPacketHandlerBits
Definition NetConnection.h:401
void ResetGameWorldState()
Definition NetConnection.cpp:5417
void SetInternalAck(bool bValue)
Definition NetConnection.h:337
FName GetPlayerOnlinePlatformName() const
Definition NetConnection.h:1455
double GetConnectTime() const
Definition NetConnection.h:491
FOnConnectionOpened & GetOnConnectionOpened()
Definition NetConnection.h:962
void StartTickingChannel(UChannel *Channel)
Definition NetConnection.h:1431
ULevel * GetRepContextLevel() const
Definition NetConnection.h:1899
ENGINE_API bool IsPacketSequenceWindowFull(uint32 SafetyMargin=0U)
Definition NetConnection.cpp:2673
int32 GetInTotalHandlerPackets() const
Definition NetConnection.h:592
bool TimeSensitive
Definition NetConnection.h:520
int32 OutPacketId
Definition NetConnection.h:635
virtual ENGINE_API void InitHandler()
Definition NetConnection.cpp:694
uint32 bPendingDestroy
Definition NetConnection.h:440
Definition NetDriver.h:799
Definition ReplicationDriver.h:116
Definition NetConnection.h:2097
virtual void InitRemoteConnection(UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, const class FInternetAddr &InRemoteAddr, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0) override
Definition NetConnection.h:2110
virtual TSharedPtr< const FInternetAddr > GetRemoteAddr() override
Definition NetConnection.h:2108
virtual void LowLevelSend(void *Data, int32 CountBits, FOutPacketTraits &Traits) override
Definition NetConnection.h:2101
virtual FString LowLevelGetRemoteAddress(bool bAppendPort=false) override
Definition NetConnection.h:2103
virtual void DestroyOwningActor() override
Definition NetConnection.h:2106
virtual void InitLocalConnection(UNetDriver *InDriver, class FSocket *InSocket, const FURL &InURL, EConnectionState InState, int32 InMaxPacket=0, int32 InPacketOverhead=0) override
Definition NetConnection.h:2111
virtual bool ClientHasInitializedLevel(const ULevel *TestLevel) const override
Definition NetConnection.h:2104
virtual FString LowLevelDescribe() override
Definition NetConnection.h:2113
Definition VoiceChannel.h:20
GeometryCollection::Facades::FMuscleActivationData Data
Definition MuscleActivationConstraints.h:15
Definition NetConnection.h:116
Type
Definition NetConnection.h:118
@ LoggingIn
Definition NetConnection.h:120
@ Invalid
Definition NetConnection.h:119
@ CleanedUp
Definition NetConnection.h:123
@ Welcomed
Definition NetConnection.h:121
@ ReceivedJoin
Definition NetConnection.h:122
Definition NetConnection.h:67
ENGINE_API bool HasDisabledBandwidthThrottling()
Definition NetConnection.cpp:135
constexpr int32 NumBitsForJitterClockTimeInHeader
Definition NetConnection.h:69
Definition NetworkVersion.cpp:28
ENetUpgradeSource
Definition NetConnection.h:107
TNetResult< ENetCloseResult > FNetCloseResult
Definition NetCloseResult.h:425
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition NetDriver.h:630
FNetworkGUID NetGUID
Definition NetDriver.h:640
Definition BitReader.h:25
Definition BitWriter.h:209
Definition BitWriter.h:22
Definition NetConnection.h:252
EChannelCloseReason CloseReason
Definition NetConnection.h:254
uint32 Id
Definition NetConnection.h:253
Definition NetworkDelegates.h:130
Type
Definition EngineNetworkCustomVersion.h:51
Definition Histogram.h:34
static constexpr UE_FORCEINLINE_HINT T DivideAndRoundUp(T Dividend, T Divisor)
Definition UnrealMathUtility.h:694
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition EngineNetAnalytics.h:14
Definition NetAnalyticsTypes.h:298
Definition NetAnalyticsTypes.h:219
Definition NetConnection.h:2034
FNetConnectionSettings(int32 InPacketLag)
Definition NetConnection.h:2046
void ApplyTo(UNetConnection *Connection)
Definition NetConnection.h:2052
int32 PacketLag
Definition NetConnection.h:2060
int32 PacketLoss
Definition NetConnection.h:2061
FNetConnectionSettings(UNetConnection *InConnection)
Definition NetConnection.h:2035
Definition UpdateLevelVisibilityLevelInfo.h:10
Definition NetAnalyticsTypes.h:178
Definition PacketTraits.h:21
Definition ObjectVersion.h:762
Definition NetDriver.h:455
Definition PacketView.h:135
Definition ResourceArray.h:31
Definition NetConnection.h:2068
FNetConnectionSettings OldSettings
Definition NetConnection.h:2089
~FScopedNetConnectionSettings()
Definition NetConnection.h:2078
TWeakObjectPtr< UNetConnection > Connection
Definition NetConnection.h:2088
bool ShouldApply
Definition NetConnection.h:2090
FScopedNetConnectionSettings(UNetConnection *InConnection, FNetConnectionSettings NewSettings, bool Apply=true)
Definition NetConnection.h:2069
Definition NetConnection.h:1998
FScopedRepContext(FScopedRepContext &&)=delete
FScopedRepContext(UNetConnection *InConnection, ULevel *InLevel)
Definition NetConnection.h:2002
FScopedRepContext & operator=(const FScopedRepContext &)=delete
FScopedRepContext(const FScopedRepContext &)=delete
FScopedRepContext & operator=(FScopedRepContext &&)=delete
~FScopedRepContext()
Definition NetConnection.h:2014
Definition EngineBaseTypes.h:799
Definition OnlineReplStructs.h:26
Definition UpdateLevelVisibilityLevelInfo.h:52
Definition NetConnection.h:264
uint32 Value
Definition NetConnection.h:265
uint32 IsSequence
Definition NetConnection.h:266
Definition NetConnection.h:260
int32 LastPacketId
Definition NetConnection.h:272
FChannelRecordEntryQueue ChannelRecord
Definition NetConnection.h:271
@ DefaultInitialSize
Definition NetConnection.h:261
FWrittenChannelsRecord(size_t InitialSize=DefaultInitialSize)
Definition NetConnection.h:275
TResizableCircularQueue< FChannelRecordEntry > FChannelRecordEntryQueue
Definition NetConnection.h:269
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:415
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
Definition NetResult.h:64
Definition NetDormantHolder.h:81
Definition NetResult.h:330