Navigation
API > API/Runtime > API/Runtime/IrisCore
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
| Name | FReplicationStateDescriptor |
| Type | struct |
| Header File | /Engine/Source/Runtime/Net/Iris/Public/Iris/ReplicationState/ReplicationStateDescriptor.h |
| Include Path | #include "Iris/ReplicationState/ReplicationStateDescriptor.h" |
Syntax
struct FReplicationStateDescriptor
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BaseStruct | const UScriptStruct * | Non-null for derived struct descriptors. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| ChangeMaskBitCount | uint16 | How many bits do we need for our tracking of dirty changes. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| ChangeMasksExternalOffset | uint32 | This is the offset to where we store data for ChangeMask, ConditionalChangeMask and MemberPollMask in the external state. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| ConstructReplicationState | ConstructReplicationStateFunc | Function to construct external state representation in a preallocated buffer. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| CreateAndRegisterReplicationFragmentFunction | CreateAndRegisterReplicationFragmentFunc | Function used to construct custom replication fragments. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| DebugName | const FNetDebugName * | Optional debug info. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| DefaultStateBuffer | const uint8 * | Pointer to default state buffer, must be explicitly destroyed if set since it might contain dynamic data. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| DescriptorIdentifier | FReplicationStateIdentifier | We need to assign a unique key that is stable between server and client (name hash of class + state type for now) | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| DestructReplicationState | DestructReplicationStateFunc | Function to destruct external state representation. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| ExternalAlignment | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| ExternalSize | uint32 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| FunctionCount | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| InternalAlignment | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| InternalSize | uint32 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberChangeMaskDescriptors | const FReplicationStateMemberChangeMaskDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberCount | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberDebugDescriptors | const FReplicationStateMemberDebugDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberDescriptors | const FReplicationStateMemberDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberFunctionDescriptors | const FReplicationStateMemberFunctionDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberLifetimeConditionDescriptors | const FReplicationStateMemberLifetimeConditionDescriptor * | Non-null if trait HasLifetimeConditionals is set. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| MemberProperties | const FProperty ** | This should possibly be moved to its own external descriptor as we do not want to rely on UProperties if we can. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| MemberPropertyDescriptors | const FReplicationStateMemberPropertyDescriptor * | 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 | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| MemberReferenceDescriptors | const FReplicationStateMemberReferenceDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberRepIndexToMemberIndexDescriptors | const FReplicationStateMemberRepIndexToMemberIndexDescriptor * | Non-null if RepIndexCount > 0. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| MemberSerializerDescriptors | const FReplicationStateMemberSerializerDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberTagDescriptors | const FReplicationStateMemberTagDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| MemberTraitsDescriptors | const FReplicationStateMemberTraitsDescriptor * | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| ObjectReferenceCount | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| RefCount | std::atomic< int32 > | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| RepIndexCount | uint16 | How many RepIndex to MemberIndex entries there are. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
| TagCount | uint16 | Iris/ReplicationState/ReplicationStateDescriptor.h | ||
| Traits | EReplicationStateTraits | Iris/ReplicationState/ReplicationStateDescriptor.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddRef() |
RefCounting required for runtime created descriptors. | Iris/ReplicationState/ReplicationStateDescriptor.h | |
uint32 GetChangeMaskOffset() |
Iris/ReplicationState/ReplicationStateDescriptor.h | ||
uint32 GetConditionalChangeMaskOffset() |
Iris/ReplicationState/ReplicationStateDescriptor.h | ||
uint32 GetMemberPollMaskOffset() |
Iris/ReplicationState/ReplicationStateDescriptor.h | ||
bool HasObjectReference() |
Iris/ReplicationState/ReplicationStateDescriptor.h | ||
bool IsInitState() |
Iris/ReplicationState/ReplicationStateDescriptor.h | ||
void Release() |
Iris/ReplicationState/ReplicationStateDescriptor.h |