13#include "Containers/Set.h"
22#include "ObjectReplicationBridge.generated.h"
31 struct FNetObjectResolveContext;
203 IRISCORE_API void SetPollFrequency(FNetRefHandle RootHandle,
float PollFrequency);
253 bool bNeedsPreUpdate =
false;
256 bool bNeedsWorldLocationUpdate =
false;
259 bool bIsDormant =
false;
262 bool bUseClassConfigDynamicFilter =
true;
265 bool bUseExplicitDynamicFilter =
false;
278 float StaticPriority = 0.0f;
284 float PollFrequency = 0.0f;
306 NoProtocolState = 0x0001,
308 WithDependents = 0x0002,
316 void PrintRelevantObjectsForConnections(
const TArray<FString>& Args)
const;
318 void PrintPushBasedStatuses()
const;
321 IRISCORE_API void PrintDebugInfoForNetRefHandle(
const FNetRefHandle NetHandle,
uint32 ConnectionId, EPrintDebugInfoTraits
PrintTraits=EPrintDebugInfoTraits::Default)
const;
330 IRISCORE_API virtual void PreSendUpdateSingleHandle(FNetRefHandle RefHandle)
override;
332 IRISCORE_API virtual void OnStartPreSendUpdate()
override;
334 IRISCORE_API virtual void OnPostReceiveUpdate()
override;
335 IRISCORE_API virtual void UpdateInstancesWorldLocation()
override;
337 IRISCORE_API virtual bool CacheNetRefHandleCreationInfo(FNetRefHandle
Handle)
override;
339 IRISCORE_API virtual void OnProtocolMismatchReported(FNetRefHandle RefHandle,
uint32 ConnectionId)
override;
350 void OnErrorBitstreamCorrupted(FNetRefHandle RefHandle,
uint32 ConnectionId);
351 void OnErrorCannotReplicateObject(FNetRefHandle RefHandle,
uint32 ConnectionId);
438 void ForcePollObject(FNetRefHandle RefHandle);
447 void FinalizeDirtyObjects();
456 void UnregisterInstance(FNetRefHandle RefHandle);
474 void FindClassesInPollPeriodOverrides();
486 void AssignDynamicFilter(
UObject*
Instance,
const FRootObjectReplicationParams& Params, FNetRefHandle RefHandle);
489 bool ShouldClassBeDeltaCompressed(
const UClass*
Class);
497 struct FUpdateWorldInfoContext
501 FNetRefHandle NetRefHandle;
504 void UpdateRootObjectWorldInfo(
const FUpdateWorldInfoContext&
Context);
509 FInstancePreUpdateFunction PreUpdateInstanceFunction;
513 void CreateDestructionProtocol();
514 void InitConditionalPropertyDelegates();
515 void InitNetObjectFactories();
516 void DeinitNetObjectFactories();
531 return StaticObjectsPendingDestroy.Find(
Handle);
569 struct FClassPrioritizerInfo
572 bool bForceEnable =
false;
576 struct FClassFilterInfo
580 bool bForceEnable =
false;
586 float MaxTickRate = 30.0f;
590 float PollFrequency = 0.0f;
636 FName DefaultSpatialFilterName;
648 bool bHasPollOverrides =
false;
649 bool bHasDirtyClassesInPollPeriodOverrides =
false;
652 bool bBlockStartRootObjectReplication =
false;
655 bool bSuppressCreateInstanceFailedEnsure =
false;
659#if UE_NET_ASYNCLOADING_DEBUG
660 friend UE::Net::Private::FAsyncLoadingSimulator;
686#if UE_NET_ASYNCLOADING_DEBUG
707 Bridge->DebugObjectsForcedToStall.Empty();
713 return !Bridge->DebugObjectsForcedToStall.IsEmpty();
719 return Bridge->DebugObjectsForcedToStall.Contains(
Handle);
737 return Bridge->WriteNetRefHandleCreationInfo(
Context,
Handle);
742 return Bridge->GetStaticDestructionInfo(
Handle);
752 Bridge->ReadAndExecuteDestructionInfoFromRemote(
Context);
767 return Bridge->SubObjectCreatedFromReplication(RootObjectIndex,
SubObjectCreated);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
ELifetimeCondition
Definition CoreNetTypes.h:20
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
EIrisAsyncLoadingPriority
Definition ObjectReferenceTypes.h:14
EEndReplicationFlags
Definition ReplicationBridgeTypes.h:12
EReplicationBridgeDestroyInstanceReason
Definition ReplicationBridgeTypes.h:56
EReplicationBridgeDestroyInstanceFlags
Definition ReplicationBridgeTypes.h:66
EReplicationBridgeCreateNetRefHandleResultFlags
Definition ReplicationBridgeTypes.h:34
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition NetBitArray.h:337
Definition NetBitArray.h:74
Definition NetHandle.h:32
Definition NetObjectGroupHandle.h:22
Definition NetObjectReference.h:38
Definition NetRefHandle.h:25
Definition WorldLocations.h:57
Definition ObjectReplicationBridge.h:732
static void PostApplyInitialState(UObjectReplicationBridge *Bridge, FInternalNetRefIndex InternalObjectIndex)
Definition ObjectReplicationBridge.h:760
static void ReadAndExecuteDestructionInfoFromRemote(UObjectReplicationBridge *Bridge, FReplicationBridgeSerializationContext &Context)
Definition ObjectReplicationBridge.h:750
static FReplicationBridgeCreateNetRefHandleResult CreateNetRefHandleFromRemote(UObjectReplicationBridge *Bridge, FNetRefHandle RootObjectNetHandle, FNetRefHandle WantedNetHandle, FReplicationBridgeSerializationContext &Context)
Definition ObjectReplicationBridge.h:755
static void SubObjectCreatedFromReplication(UObjectReplicationBridge *Bridge, UE::Net::Private::FInternalNetRefIndex RootObjectIndex, FNetRefHandle SubObjectCreated)
Definition ObjectReplicationBridge.h:765
static bool WriteNetRefHandleCreationInfo(UObjectReplicationBridge *Bridge, FReplicationBridgeSerializationContext &Context, FNetRefHandle Handle)
Definition ObjectReplicationBridge.h:735
static void DestroyNetObjectFromRemote(UObjectReplicationBridge *Bridge, FInternalNetRefIndex InternalObjectIndex, EReplicationBridgeDestroyInstanceReason DestroyReason)
Definition ObjectReplicationBridge.h:745
static const UE::Net::Private::FStaticDestructionInfo * GetStaticDestructionInfo(UObjectReplicationBridge *Bridge, UE::Net::FNetRefHandle Handle)
Definition ObjectReplicationBridge.h:740
Definition ObjectPollFrequencyLimiter.h:18
Definition ObjectPoller.h:30
Definition ReplicationSystem.cpp:70
Definition NetObjectFactory.h:79
Definition ObjectReplicationBridge.h:83
FName GetDefaultSpatialFilterName() const
Definition ObjectReplicationBridge.h:217
virtual bool ObjectLevelHasFinishedLoading(UObject *Object) const
Definition ObjectReplicationBridge.h:173
float GetMaxTickRate() const
Definition ObjectReplicationBridge.h:421
EPrintDebugInfoTraits
Definition ObjectReplicationBridge.h:303
virtual bool RemapPathForPIE(uint32 ConnectionId, FString &Path, bool bReading) const
Definition ObjectReplicationBridge.h:170
virtual void OnProtocolMismatchDetected(FNetRefHandle ObjectHandle)
Definition ObjectReplicationBridge.h:358
void SetMaxTickRate(float InMaxTickRate)
Definition ObjectReplicationBridge.h:424
virtual void SendErrorWithNetRefHandle(UE::Net::ENetRefHandleError ErrorType, FNetRefHandle RefHandle, uint32 ConnectionId, TConstArrayView< const FNetRefHandle > ExtraNetRefHandle={})
Definition ObjectReplicationBridge.h:226
Definition ReplicationBridge.h:116
Definition ReplicationSystem.h:70
Definition OverriddenPropertySet.cpp:45
Definition NetworkVersion.cpp:28
uint32 FInternalNetRefIndex
Definition ReplicationStateStorage.h:20
Definition NetworkVersion.cpp:28
uint32 FNetObjectPrioritizerHandle
Definition ObjectReplicationBridge.h:34
uint32 FReplicationProtocolIdentifier
Definition ReplicationProtocol.h:13
EDependentObjectSchedulingHint
Definition ReplicationSystemTypes.h:37
EReplicationFragmentTraits
Definition ReplicationFragment.h:102
uint8 FNetObjectFactoryId
Definition NetObjectFactoryRegistry.h:18
ENetRefHandleError
Definition NetEnums.h:130
@ InvalidNetObjectFactoryId
Definition NetObjectFactoryRegistry.h:19
uint32 FNetObjectFilterHandle
Definition ReplicationFiltering.h:20
EGetRefHandleFlags
Definition ReplicationSystemTypes.h:19
ESubObjectInsertionOrder
Definition ReplicationBridge.h:99
@ false
Definition radaudio_common.h:23
Definition ObjectReplicationBridge.h:72
UObject * Object
Definition ObjectReplicationBridge.h:73
EReplicationBridgeCreateNetRefHandleResultFlags Flags
Definition ObjectReplicationBridge.h:74
Definition ReplicationBridgeTypes.h:48
Definition ReplicationBridge.h:73
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition ReplicationBridge.h:87
Definition ObjectReferenceCacheFwd.h:30
Definition ReplicationProtocol.h:42
Definition ReplicationProtocol.h:83
Definition ObjectReplicationBridge.h:55
UE::Net::FNetObjectReference StaticRef
Definition ObjectReplicationBridge.h:57
UE::Net::FNetObjectGroupHandle LevelGroupHandle
Definition ObjectReplicationBridge.h:60
UE::Net::FNetObjectFactoryId NetFactoryId
Definition ObjectReplicationBridge.h:63
UE::Net::Private::FInternalNetRefIndex InternalReplicationIndex
Definition ObjectReplicationBridge.h:66
Definition ObjectReplicationBridge.h:251
FName ExplicitDynamicFilterName
Definition ObjectReplicationBridge.h:272
Definition ObjectReplicationBridge.h:288
FNetRefHandle InsertRelativeToSubObjectHandle
Definition ObjectReplicationBridge.h:293
FNetRefHandle RootObjectHandle
Definition ObjectReplicationBridge.h:290