Navigation
API > API/Runtime > API/Runtime/IrisCore > API/Runtime/IrisCore/Iris > API/Runtime/IrisCore/Iris/ReplicationState
References
| Module | IrisCore |
| Header | /Engine/Source/Runtime/Experimental/Iris/Core/Public/Iris/ReplicationState/ReplicationStateDescriptor.h |
| Include | #include "Iris/ReplicationState/ReplicationStateDescriptor.h" |
Syntax
struct FReplicationStateDescriptor
Remarks
A ReplicationState is our replication primitive, all members of a ReplicationState has the same high level conditional, i.e. connection level, IsInit, and has the same owner filtering on the block level might be Initial, Connection, Owner Within a ReplicationState we do we also support per member conditionals
Variables
| Type | Name | Description | |
|---|---|---|---|
| const UScriptStruct * | BaseStruct | Non-null for derived struct descriptors. | |
| uint16 | ChangeMaskBitCount | How many bits do we need for our tracking of dirty changes. | |
| uint32 | ChangeMasksExternalOffset | This is the offset to where we store data for changemasks in the external state. | |
| ConstructReplicationStateFunc | ConstructReplicationState | Function to construct external state representation in a preallocated buffer. | |
| CreateAndRegisterReplicationFragmentFunc | CreateAndRegisterReplicationFragmentFunction | Function used to construct custom replication fragments. | |
| const FNetDebugName * | DebugName | Optional debug info. | |
| const uint8 * | DefaultStateBuffer | Pointer to default state buffer, must be explicitly destroyed if set since it might contain dynamic data. | |
| FReplicationStateIdentifier | DescriptorIdentifier | We need to assign a unique key that is stable between server and client (name hash of class + state type for now) | |
| DestructReplicationStateFunc | DestructReplicationState | Function to destruct external state representation. | |
| uint16 | ExternalAlignment | ||
| uint32 | ExternalSize | ||
| uint16 | FunctionCount | ||
| uint16 | InternalAlignment | ||
| uint32 | InternalSize | ||
| const FReplicationStateMemberChangeMaskDescriptor * | MemberChangeMaskDescriptors | ||
| uint16 | MemberCount | ||
| const FReplicationStateMemberDebugDescriptor * | MemberDebugDescriptors | ||
| const FReplicationStateMemberDescriptor * | MemberDescriptors | ||
| const FReplicationStateMemberFunctionDescriptor * | MemberFunctionDescriptors | ||
| const FReplicationStateMemberLifetimeConditionDescriptor * | MemberLifetimeConditionDescriptors | Non-null if trait HasLifetimeConditionals is set. | |
| const FProperty ** | MemberProperties | This should possibly be moved to its own external descriptor as we do not want to rely on UProperties if we can. | |
| const FReplicationStateMemberPropertyDescriptor * | MemberPropertyDescriptors | Additional data associated with applying state data for properties We keep this in a separate array as we might only need this if we can receive data | |
| const FReplicationStateMemberReferenceDescriptor * | MemberReferenceDescriptors | ||
| const FReplicationStateMemberRepIndexToMemberIndexDescriptor * | MemberRepIndexToMemberIndexDescriptors | Non-null if RepIndexCount > 0. | |
| const FReplicationStateMemberSerializerDescriptor * | MemberSerializerDescriptors | ||
| const FReplicationStateMemberTagDescriptor * | MemberTagDescriptors | ||
| const FReplicationStateMemberTraitsDescriptor * | MemberTraitsDescriptors | ||
| uint16 | ObjectReferenceCount | ||
| std::atomic< int32 > | RefCount | ||
| uint16 | RepIndexCount | How many RepIndex to MemberIndex entries there are. | |
| uint16 | TagCount | ||
| EReplicationStateTraits | Traits |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddRef () |
RefCounting required for runtime created descriptors. | |
| uint32 | |||
| uint32 | |||
| int32 | GetRefCount () |
||
| bool | |||
| bool | IsInitState () |
||
| void | Release () |