Navigation
API > API/Runtime > API/Runtime/IrisCore
Specialization of FFastArraySerializer in order to add state tracking support for Iris Current usage is to inherit from this struct instead of FFastArraySerializer, backwards compatible with existing system as it simply forwards calls to MarkDirty/MarkItemDirty This class could be named FFastArrayReplicationState, but kept the FIrisFastArraySerializer to match old naming for the time being
NOTE: IrisFastArraySerializer, does not support having local not replicated items in the array. If ShouldWriteFastArrayItem is overridden and filters out items, an ensure will be triggered. Logic should still work, but extra elements will be replicated and filtered out on receiving end.
| Name | FIrisFastArraySerializer |
| Type | struct |
| Header File | /Engine/Source/Runtime/Net/Iris/Public/Iris/ReplicationState/IrisFastArraySerializer.h |
| Include Path | #include "Iris/ReplicationState/IrisFastArraySerializer.h" |
Syntax
USTRUCT (Experimental)
struct FIrisFastArraySerializer : public FFastArraySerializer
Inheritance Hierarchy
- FFastArraySerializer → FIrisFastArraySerializer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Iris/ReplicationState/IrisFastArraySerializer.h | |||
FIrisFastArraySerializer
(
const FIrisFastArraySerializer& Other |
Will not copy replication state header | Iris/ReplicationState/IrisFastArraySerializer.h | |
FIrisFastArraySerializer
(
const FIrisFastArraySerializer&& Other |
Will not copy replication state header | Iris/ReplicationState/IrisFastArraySerializer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FIrisFastArraySerializer() |
Iris/ReplicationState/IrisFastArraySerializer.h |
Enums
Public
| Name | Remarks |
|---|---|
| FIrisFastArraySerializer | At the moment as we have no way to specify this per derived type, currently we reserve a fixed range of bits used for the changemask, the first bit is used for the array itself. |
| FIrisFastArraySerializer | |
| FIrisFastArraySerializer |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ChangeMaskStorage | uint32 | Storage for changemask, this is currently hardcoded. | Iris/ReplicationState/IrisFastArraySerializer.h |
|
| ReplicationStateHeader | UE::Net::FReplicationStateHeader | Header for dirty state tracking needs to be just before ChangeMaskStorage. See GetReplicationStateHeader for more info. | Iris/ReplicationState/IrisFastArraySerializer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void MarkArrayDirty() |
Override MarkArrayDirty in order to mark object as dirty in the DirtyNetObjectTracker | Iris/ReplicationState/IrisFastArraySerializer.h | |
void MarkItemDirty
(
FFastArraySerializerItem& Item |
Override MarkItemDirty in order to mark object as dirty in the DirtyNetObjectTracker | Iris/ReplicationState/IrisFastArraySerializer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FIrisFastArraySerializer & operator=
(
const FIrisFastArraySerializer& Other |
We must make sure that we do not copy replication state header and must update dirtiness if bound | Iris/ReplicationState/IrisFastArraySerializer.h | |
FIrisFastArraySerializer & operator=
(
FIrisFastArraySerializer&& Other |
We must make sure that we do not move replication state header and must update dirtiness if bound | Iris/ReplicationState/IrisFastArraySerializer.h |