18 class FNetObjectReference;
22 class FNetRefHandleManager;
23 class FObjectReferenceCache;
24 class FReplicationConnections;
90 void RegisterDefaultHandlers();
138 void ResetProcessQueue();
142 bool HasAnyUnprocessedReliableAttachments()
const;
145 struct FNetObjectAttachmentQueueEntry
159 FQueue AttachmentQueue;
160 FQueue ScheduleAsOOBAttachmentQueue;
161 bool bHasMulticastAttachments;
163 struct FProcessQueueContext
165 FNetBitArray AttachmentsToObjectsGoingOutOfScope;
166 FNetBitArray AttachmentsToObjectsInScope;
167 FNetBitArray ConnectionsPendingSendInPostDispatch;
170 FReplicationConnections* Connections =
nullptr;
171 const FNetRefHandleManager* NetRefHandleManager =
nullptr;
172 FQueue* QueueToProcess =
nullptr;
176 Connections =
nullptr;
177 NetRefHandleManager =
nullptr;
178 QueueToProcess =
nullptr;
179 ConnectionsPendingSendInPostDispatch.ClearAllBits();
182 bool IsValid()
const {
return NetRefHandleManager !=
nullptr; }
184 FProcessQueueContext ProcessContext;
188 FNetBlobHandlerManager BlobHandlerManager;
189 FNetObjectAttachmentSendQueue AttachmentSendQueue;
198 FObjectReferenceCache* ObjectReferenceCache =
nullptr;
199 FReplicationConnections* Connections =
nullptr;
201 const FNetRefHandleManager* NetRefHandleManager =
nullptr;
202 bool bIsServer =
false;
203 bool bSendAttachmentsWithObject =
false;
204 bool bAllowObjectReplication =
false;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
UE_FORCEINLINE_HINT bool IsValid(const UObject *Test)
Definition Object.h:1875
int32 InternalIndex
Definition VulkanMemory.cpp:4036
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition StrongObjectPtrTemplates.h:26
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition StrongObjectPtrTemplates.h:117
Definition NetBitArray.h:337
Definition NetBitArray.h:74
Definition NetObjectReference.h:38
Definition NetRefHandle.h:25
Definition NetBlobHandlerManager.h:11
Definition NetBlobManager.h:38
void ProcessOOBNetObjectAttachmentSendQueue(FNetBitArray &OutConnectionsPendingImmediateSend)
Definition NetBlobManager.cpp:390
bool HasAnyUnprocessedReliableAttachments() const
Definition NetBlobManager.cpp:635
void RemoveConnection(uint32 ConnectionId)
Definition NetBlobManager.cpp:411
bool RegisterNetBlobHandler(UNetBlobHandler *Handler)
Definition NetBlobManager.cpp:52
bool SendUnicastRPC(uint32 ConnectionId, const FSendRPCContext &Context, const void *Parameters, ENetObjectAttachmentSendPolicyFlags SendFlags=ENetObjectAttachmentSendPolicyFlags::None)
Definition NetBlobManager.cpp:172
void ProcessNetObjectAttachmentSendQueue(EProcessMode ProcessMode)
Definition NetBlobManager.cpp:395
const FNetBlobHandlerManager & GetNetBlobHandlerManager() const
Definition NetBlobManager.h:79
bool AllowObjectReplication() const
Definition NetBlobManager.h:46
bool HasUnprocessedReliableAttachments(FInternalNetRefIndex InternalIndex) const
Definition NetBlobManager.cpp:630
FNetBitArrayView GetConnectionsPendingImmediateSend() const
bool QueueNetObjectAttachment(uint32 ConnectionId, const FNetObjectReference &TargetRef, const TRefCountPtr< FNetObjectAttachment > &Attachment, ENetObjectAttachmentSendPolicyFlags SendFlags=ENetObjectAttachmentSendPolicyFlags::None)
Definition NetBlobManager.cpp:57
EProcessMode
Definition NetBlobManager.h:67
@ ProcessObjectsGoingOutOfScope
void AddConnection(uint32 ConnectionId)
Definition NetBlobManager.cpp:406
const UNetObjectBlobHandler * GetNetObjectBlobHandler() const
Definition NetBlobManager.h:82
FNetBlobHandlerManager & GetNetBlobHandlerManager()
Definition NetBlobManager.h:78
const UPartialNetObjectAttachmentHandler * GetPartialNetObjectAttachmentHandler() const
Definition NetBlobManager.h:81
FNetBlobManager()
Definition NetBlobManager.cpp:31
bool SendMulticastRPC(const FSendRPCContext &Context, const void *Parameters, ENetObjectAttachmentSendPolicyFlags SendFlags=ENetObjectAttachmentSendPolicyFlags::None)
Definition NetBlobManager.cpp:107
void ResetNetObjectAttachmentSendQueue()
Definition NetBlobManager.cpp:401
Definition AttachmentReplication.h:47
Definition NetRefHandleManager.h:72
@ InvalidInternalIndex
Definition NetRefHandleManager.h:75
Definition ReplicationConnections.h:32
Definition NetBlobHandler.h:44
Definition NetObjectBlobHandler.h:32
Definition NetRPCHandler.h:29
Definition PartialNetObjectAttachmentHandler.h:11
Definition PartialNetObjectAttachmentHandler.h:44
Definition ReplicationSystem.h:70
Definition OverriddenPropertySet.cpp:45
Definition NetworkVersion.cpp:28
uint32 FInternalNetRefIndex
Definition ReplicationStateStorage.h:20
Definition NetworkVersion.cpp:28
ENetObjectAttachmentSendPolicyFlags
Definition ReplicationSystemTypes.h:52
Definition NetBlobManager.h:32
UReplicationSystem * ReplicationSystem
Definition NetBlobManager.h:33
bool bSendAttachmentsWithObject
Definition NetBlobManager.h:34
Definition NetBlobManager.h:51
const UObject * RootObject
Definition NetBlobManager.h:52
const UFunction * Function
Definition NetBlobManager.h:54
const UObject * SubObject
Definition NetBlobManager.h:53