5#include "Containers/Array.h"
7#include "Containers/Map.h"
8#include "Containers/Set.h"
30#include "CoreNet.generated.h"
53 class FReplicationFragment;
54 struct FReplicationStateDescriptor;
99 return FieldsBase + Fields.
Num();
108 if ( ( Result =
C->FieldMap.FindRef(
Field.GetRawPointer() ) ) !=
NULL )
122 if ( ( Result =
C->FieldChecksumMap.FindRef( Checksum ) ) !=
NULL )
136 return &
C->Fields[
Index-
C->FieldsBase];
268 return (
First <= PacketId && PacketId <=
Last);
369 T*
Get()
const {
return Ptr; }
455 if (
A.Num() !=
B.Num() )
479 : LastAckedHistory(0)
480 , ChangelistHistory(0)
572 UE_DEPRECATED(5.5,
"Will be removed or renamed and used to pass paramters.")
582 : CurrentState(
true , NumProperties)
583 , DynamicConditionChangeCounter(0)
589 CurrentState[RepIndex] = bIsActive;
594 return CurrentState[RepIndex];
601 ++DynamicConditionChangeCounter;
602 DynamicConditions.Emplace(RepIndex,
static_cast<int16>(Condition));
607 if (
const int16* Condition = DynamicConditions.Find(RepIndex))
618 return CurrentState.
Num();
623 return DynamicConditionChangeCounter;
635 uint32 DynamicConditionChangeCounter;
698#if UE_SUPPORT_FOR_ACTOR_TICK_DISABLE
753#define NET_ENABLE_CHECKSUMS 0
756#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) && NET_ENABLE_CHECKSUMS
758#define NET_CHECKSUM_OR_END(Ser) \
760 SerializeChecksum(Ser,0xE282FA84, true); \
763#define NET_CHECKSUM(Ser) \
765 SerializeChecksum(Ser,0xE282FA84, false); \
768#define NET_CHECKSUM_CUSTOM(Ser, x) \
770 SerializeChecksum(Ser,x, false); \
774#define NET_CHECKSUM_IGNORE(Ser) \
783#define NET_CHECKSUM(Ser)
784#define NET_CHECKSUM_IGNORE(Ser)
785#define NET_CHECKSUM_CUSTOM(Ser, x)
786#define NET_CHECKSUM_OR_END(ser)
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
ELifetimeCondition
Definition CoreNetTypes.h:20
@ COND_Dynamic
Definition CoreNetTypes.h:35
@ COND_Max
Definition CoreNetTypes.h:38
@ COND_None
Definition CoreNetTypes.h:21
ELifetimeRepNotifyCondition
Definition CoreNetTypes.h:43
@ REPNOTIFY_OnChanged
Definition CoreNetTypes.h:44
COREUOBJECT_API void SerializeChecksum(FArchive &Ar, uint32 x, bool ErrorOK)
Definition CoreNet.cpp:381
COREUOBJECT_API void RPC_ValidateFailed(const TCHAR *Reason)
Definition CoreNet.cpp:667
COREUOBJECT_API const TCHAR * RPC_GetLastFailedReason()
Definition CoreNet.cpp:672
@ LAN_BEACON_MAX_PACKET_SIZE
Definition CoreNet.h:795
void SetTraceCollector(FNetBitWriter &BitWriter, FNetTraceCollector *Collector)
Definition CoreNet.h:450
bool NetworkGuidSetsAreSame(const TSet< FNetworkGUID > &A, const TSet< FNetworkGUID > &B)
Definition CoreNet.h:453
@ MAX_PACKET_SIZE
Definition CoreNet.h:794
FNetTraceCollector * GetTraceCollector(const FNetBitWriter &BitWriter)
Definition CoreNet.h:449
COREUOBJECT_API void RPC_ResetLastFailedReason()
Definition CoreNet.cpp:663
uint32 GetBitStreamPositionForNetTrace(const FBitWriter &Stream)
Definition CoreNet.h:442
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
return true
Definition ExternalRpcRegistry.cpp:601
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define GENERATE_MEMBER_FUNCTION_CHECK(MemberName, Result, ConstModifier,...)
Definition UnrealTypeTraits.h:470
Definition Engine.Build.cs:7
Definition Archive.h:1208
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
COREUOBJECT_API const FClassNetCache * GetClassNetCache(UClass *Class)
Definition CoreNet.cpp:168
COREUOBJECT_API void SortProperties(TArray< FProperty * > &Properties) const
Definition CoreNet.cpp:29
bool bDebugChecksum
Definition CoreNet.h:176
COREUOBJECT_API uint32 SortedStructFieldsChecksum(const UStruct *Struct, uint32 Checksum) const
Definition CoreNet.cpp:49
~FClassNetCacheMgr()
Definition CoreNet.h:164
COREUOBJECT_API uint32 GetFieldChecksum(const UField *Field, uint32 Checksum) const
Definition CoreNet.cpp:156
int DebugChecksumIndent
Definition CoreNet.h:177
COREUOBJECT_API uint32 GetFunctionChecksum(const UFunction *Function, uint32 Checksum) const
Definition CoreNet.cpp:127
COREUOBJECT_API void ClearClassNetCache()
Definition CoreNet.cpp:258
FClassNetCacheMgr()
Definition CoreNet.h:163
COREUOBJECT_API void CountBytes(FArchive &Ar) const
Definition CoreNet.cpp:268
COREUOBJECT_API uint32 GetPropertyChecksum(const FProperty *Property, uint32 Checksum, const bool bIncludeChildren) const
Definition CoreNet.cpp:76
COREUOBJECT_API void CountBytes(FArchive &Ar) const
Definition CoreNet.cpp:281
int32 GetMaxIndex() const
Definition CoreNet.h:97
const FFieldNetCache * GetFromChecksum(const uint32 Checksum) const
Definition CoreNet.h:116
const TArray< FFieldNetCache > & GetFields() const
Definition CoreNet.h:145
uint32 GetClassChecksum() const
Definition CoreNet.h:142
const FFieldNetCache * GetFromField(FFieldVariant Field) const
Definition CoreNet.h:102
COREUOBJECT_API FClassNetCache()
Definition CoreNet.cpp:21
const FClassNetCache * GetSuper() const
Definition CoreNet.h:144
const FFieldNetCache * GetFromIndex(const int32 Index) const
Definition CoreNet.h:130
int32 GetNumProperties() const
Definition CoreNet.h:616
uint32 GetDynamicConditionChangeCounter() const
Definition CoreNet.h:621
FCustomPropertyConditionState(int32 NumProperties)
Definition CoreNet.h:581
void SetActiveState(const uint16 RepIndex, const bool bIsActive)
Definition CoreNet.h:587
void SetDynamicCondition(const uint16 RepIndex, const ELifetimeCondition Condition)
Definition CoreNet.h:597
bool GetActiveState(const uint16 RepIndex) const
Definition CoreNet.h:592
FCustomPropertyConditionState()=delete
ELifetimeCondition GetDynamicCondition(const uint16 RepIndex) const
Definition CoreNet.h:605
void CountBytes(FArchive &Ar) const
Definition CoreNet.h:626
bool bIncompatible
Definition CoreNet.h:78
FFieldNetCache()
Definition CoreNet.h:80
FFieldNetCache(FFieldVariant InField, int32 InFieldNetIndex, uint32 InFieldChecksum)
Definition CoreNet.h:82
FFieldVariant Field
Definition CoreNet.h:75
int32 FieldNetIndex
Definition CoreNet.h:76
uint32 FieldChecksum
Definition CoreNet.h:77
Definition GuidReferences.h:50
uint16 RepIndex
Definition CoreNet.h:304
FLifetimeProperty(int32 InRepIndex, ELifetimeCondition InCondition, ELifetimeRepNotifyCondition InRepNotifyCondition=REPNOTIFY_OnChanged, bool bInIsPushBased=false)
Definition CoreNet.h:326
bool bIsPushBased
Definition CoreNet.h:313
ELifetimeCondition Condition
Definition CoreNet.h:307
ELifetimeRepNotifyCondition RepNotifyCondition
Definition CoreNet.h:310
bool operator==(const FLifetimeProperty &Other) const
Definition CoreNet.h:335
FLifetimeProperty(int32 InRepIndex)
Definition CoreNet.h:320
UE::Net::CreateAndRegisterReplicationFragmentFunc CreateAndRegisterReplicationFragmentFunction
Definition CoreNet.h:316
FLifetimeProperty()=default
Definition NameTypes.h:617
virtual COREUOBJECT_API ~FNetBitReader()
COREUOBJECT_API FNetBitReader & operator=(FNetBitReader &&)
UPackageMap * PackageMap
Definition CoreNet.h:417
TPimplPtr< UE::Net::FNetResult, EPimplPtrMode::DeepCopy > ExtendedError
Definition CoreNet.h:420
virtual COREUOBJECT_API void CountMemory(FArchive &Ar) const override
Definition CoreNet.cpp:654
COREUOBJECT_API FNetBitReader(const FNetBitReader &)
COREUOBJECT_API FNetBitReader(FNetBitReader &&)
COREUOBJECT_API FNetBitReader & operator=(const FNetBitReader &)
virtual COREUOBJECT_API void CountMemory(FArchive &Ar) const override
Definition CoreNet.cpp:527
TNetDoNotCopyPtr< UE::Net::FNetTokenExportContext > NetTokenExportContext
Definition CoreNet.h:406
class UPackageMap * PackageMap
Definition CoreNet.h:390
COREUOBJECT_API FNetBitWriter()
Definition CoreNet.cpp:411
Definition NetworkGuid.h:12
Definition UObjectGlobals.h:1292
Definition DataBunch.h:24
Definition OutputDevice.h:133
Definition UnrealType.h:174
virtual void CountBytes(FArchive &Ar) const
Definition CoreNet.h:493
uint32 GetChangelistHistory() const
Definition CoreNet.h:498
INetDeltaBaseState()
Definition CoreNet.h:478
void SetChangelistHistory(uint32 InChangelistHistory)
Definition CoreNet.h:499
virtual ~INetDeltaBaseState()
Definition CoreNet.h:485
void SetLastAckedHistory(uint32 InAckedHistory)
Definition CoreNet.h:496
virtual bool IsStateEqual(INetDeltaBaseState *Otherstate)=0
uint32 GetLastAckedHistory() const
Definition CoreNet.h:495
INetSerializeCB()
Definition CoreNet.h:521
virtual void GatherGuidReferencesForFastArray(struct FFastArrayDeltaSerializeParams &Params)=0
virtual void NetSerializeStruct(FNetDeltaSerializeInfo &Params)=0
virtual ~INetSerializeCB()
Definition CoreNet.h:523
virtual bool NetDeltaSerializeForFastArray(struct FFastArrayDeltaSerializeParams &Params)=0
virtual void UpdateUnmappedGuidsForFastArray(struct FFastArrayDeltaSerializeParams &Params)=0
virtual bool MoveGuidToUnmappedForFastArray(struct FFastArrayDeltaSerializeParams &Params)=0
virtual ~IRepChangedPropertyTracker()
Definition CoreNet.h:574
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_FORCEINLINE_HINT int32 Num() const
Definition BitArray.h:1466
void CountBytes(FArchive &Ar) const
Definition BitArray.h:1068
Definition UnrealString.h.inl:34
TNetDoNotCopyPtr & operator=(TNetDoNotCopyPtr &&)
Definition CoreNet.h:367
TNetDoNotCopyPtr(const TNetDoNotCopyPtr &)
Definition CoreNet.h:364
T * Get() const
Definition CoreNet.h:369
TNetDoNotCopyPtr & operator=(const TNetDoNotCopyPtr &Other)
Definition CoreNet.h:366
TNetDoNotCopyPtr(TNetDoNotCopyPtr &&)
Definition CoreNet.h:365
void Set(T *InPtr)
Definition CoreNet.h:368
TNetDoNotCopyPtr()
Definition CoreNet.h:363
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition ActorChannel.h:78
Definition ReplicationFragment.h:244
Definition NetTokenExportContext.h:21
Definition NetToken.h:112
Definition ReplicationFragment.h:176
Definition PropertyConditions.h:20
Definition NetConnection.h:284
const TSet< FNetworkGUID > & GetTrackedDynamicMappedGuids() const
Definition CoreNet.h:224
virtual bool PrintExportBatch()
Definition CoreNet.h:217
virtual bool SerializeNewActor(FArchive &Ar, class UActorChannel *Channel, class AActor *&Actor)
Definition CoreNet.h:207
virtual COREUOBJECT_API ~UPackageMap()
virtual void AddUnmappedNetGUIDReference(FNetworkGUID UnmappedGUID)
Definition CoreNet.h:226
virtual void ReportSyncLoadsForProperty(const FProperty *Property, const UObject *Object)
Definition CoreNet.h:231
virtual bool WriteObject(FArchive &Ar, UObject *InOuter, FNetworkGUID NetGUID, FString ObjName)
Definition CoreNet.h:195
FString DebugContextString
Definition CoreNet.h:253
bool bShouldTrackUnmappedGuids
Definition CoreNet.h:249
TSet< FNetworkGUID > TrackedUnmappedNetGuids
Definition CoreNet.h:250
virtual void LogDebugInfo(FOutputDevice &Ar)
Definition CoreNet.h:233
TSet< FNetworkGUID > TrackedMappedDynamicNetGuids
Definition CoreNet.h:251
virtual void ResetTrackedSyncLoadedGuids()
Definition CoreNet.h:230
virtual UObject * ResolvePathAndAssignNetGUID(const FNetworkGUID &NetGUID, const FString &PathName)
Definition CoreNet.h:205
virtual bool IsUsingRemoteObjectReferences() const
Definition CoreNet.h:237
virtual FNetworkGUID GetNetGUIDFromObject(const UObject *InObject) const
Definition CoreNet.h:235
COREUOBJECT_API UPackageMap()
virtual bool IsGUIDBroken(const FNetworkGUID &NetGUID, const bool bMustBeRegistered) const
Definition CoreNet.h:236
const TSet< FNetworkGUID > & GetTrackedUnmappedGuids() const
Definition CoreNet.h:223
void ClearDebugContextString()
Definition CoreNet.h:220
virtual void NotifyBunchCommit(const int32 OutPacketId, const FOutBunch *OutBunch)
Definition CoreNet.h:211
virtual UObject * GetObjectFromNetGUID(const FNetworkGUID &NetGUID, const bool bIgnoreMustBeMapped)
Definition CoreNet.h:234
void SetDebugContextString(const FString &Str)
Definition CoreNet.h:219
virtual void GetNetGUIDStats(int32 &AckCount, int32 &UnAckCount, int32 &PendingCount)
Definition CoreNet.h:213
void ResetTrackedGuids(bool bShouldTrack)
Definition CoreNet.h:222
virtual void RemoveUnmappedNetGUIDReference(FNetworkGUID UnmappedGUID)
Definition CoreNet.h:227
virtual bool SerializeObject(FArchive &Ar, UClass *InClass, UObject *&Obj, FNetworkGUID *OutNetGUID=NULL)
Definition CoreNet.h:198
virtual const UE::Net::FNetTokenResolveContext * GetNetTokenResolveContext() const
Definition CoreNet.h:242
virtual void NotifyStreamingLevelUnload(UObject *UnloadedLevel)
Definition CoreNet.h:215
virtual void ReceivedNak(const int32 NakPacketId)
Definition CoreNet.h:209
virtual void ReceivedAck(const int32 AckPacketId)
Definition CoreNet.h:210
Definition FieldSystemNoiseAlgo.cpp:6
Definition OverriddenPropertySet.cpp:45
Definition NetworkVersion.cpp:28
FReplicationFragment *(* CreateAndRegisterReplicationFragmentFunc)(UObject *Owner, const FReplicationStateDescriptor *Descriptor, FFragmentRegistrationContext &Context)
Definition CoreNet.h:55
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition BitReader.h:25
Definition BitWriter.h:22
FString Identifier
Definition CoreNet.h:745
TArray< uint8 > Fingerprint
Definition CoreNet.h:743
TArray< uint8 > Key
Definition CoreNet.h:741
Definition FastArraySerializer.h:1627
class UStruct * Struct
Definition CoreNet.h:666
bool bCalledPreNetReceive
Definition CoreNet.h:678
TSet< FNetworkGUID > * GatherGuidReferences
Definition CoreNet.h:720
int32 * TrackedGuidMemoryBytes
Definition CoreNet.h:727
FBitWriter * Writer
Definition CoreNet.h:645
bool bSupportsFastArrayDeltaStructSerialization
Definition CoreNet.h:696
const FNetworkGUID * MoveGuidToUnmapped
Definition CoreNet.h:730
UObject * Object
Definition CoreNet.h:710
class UNetConnection * Connection
Definition CoreNet.h:660
bool bOutSomeObjectsWereMapped
Definition CoreNet.h:675
UObject * CustomDeltaObject
Definition CoreNet.h:713
bool bGuidListsChanged
Definition CoreNet.h:684
void * Data
Definition CoreNet.h:663
uint16 CustomDeltaIndex
Definition CoreNet.h:732
bool bIsWritingOnClient
Definition CoreNet.h:687
FBitReader * Reader
Definition CoreNet.h:648
class UPackageMap * Map
Definition CoreNet.h:657
bool bOutHasMoreUnmapped
Definition CoreNet.h:681
bool bInternalAck
Definition CoreNet.h:707
bool bIsInitializingBaseFromDefault
Definition CoreNet.h:693
bool bUpdateUnmappedObjects
Definition CoreNet.h:672
INetSerializeCB * NetSerializeCB
Definition CoreNet.h:669
INetDeltaBaseState * OldState
Definition CoreNet.h:654
TSharedPtr< INetDeltaBaseState > * NewState
Definition CoreNet.h:651
FString DebugName
Definition CoreNet.h:735
Definition ObjectPtr.h:55
FPacketIdRange(int32 _First, int32 _Last)
Definition CoreNet.h:260
int32 First
Definition CoreNet.h:263
int32 Last
Definition CoreNet.h:264
FPacketIdRange(int32 PacketId)
Definition CoreNet.h:261
bool InRange(int32 PacketId) const
Definition CoreNet.h:266
FPacketIdRange()
Definition CoreNet.h:262
TSharedPtr< class INetDeltaBaseState > DynamicState
Definition CoreNet.h:278
uint32 FastArrayChangelistHistory
Definition CoreNet.h:281
FPropertyRetirement * Next
Definition CoreNet.h:276
FPropertyRetirement()
Definition CoreNet.h:283
void CountBytes(FArchive &Ar) const
Definition CoreNet.cpp:400
FPacketIdRange OutPacketIdRange
Definition CoreNet.h:280
Definition SoftObjectPath.h:56
Definition SoftObjectPtr.h:45
Definition WeakObjectPtr.h:49
Definition UnrealTypeTraits.h:172
Definition ReplicationStateDescriptor.h:199