| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Engine/ActorChannel.h |
Include |
#include "Engine/ActorChannel.h" |
class UActorChannel : public UChannel
A channel for exchanging actor and its subobject's properties and RPCs.
ActorChannel manages the creation and lifetime of a replicated actor. Actual replication of properties and RPCs actually happens in FObjectReplicator now (see DataReplication.h).
An ActorChannel bunch looks like this:
+-------------------+------------------------------------------------------------------------+ | SpawnInfo | (Spawn Info) Initial bunch only | | -Actor Class | -Created by ActorChannel | | -Spawn Loc/Rot | | | NetGUID assigns | | | -Actor NetGUID | | | -Component NetGUIDs | | +-------------------+------------------------------------------------------------------------+ | | | +-------------------+------------------------------------------------------------------------+ | NetGUID ObjRef | (Content chunks) x number of replicating objects (Actor + any components) | | | -Each chunk created by its own FObjectReplicator instance. | +-------------------+------------------------------------------------------------------------+ | | |
Properties...
RPCs...
+-------------------+------------------------------------------------------------------------+ | </End> | | +-------------------+------------------------------------------------------------------------+
Name | Description | ||
---|---|---|---|
|
TObjectPtr< AAc... |
Actor |
Variables. |
|
ActorNetGUID |
||
|
TSharedPtr< FOb... |
ActorReplicator |
|
|
uint32: 1 |
bBlockChannelFailure |
Whether or not to block sending of NMT_ActorChannelFailure (for NetcodeUnitTest) |
|
uint32: 1 |
bClearRecentActorRefs |
Whether we should nullptr references to this channel's Actor in other channels' Recent data when this channel is closed set to false in cases where the Actor can't become relevant again (e.g. destruction) as it's unnecessary in that case |
|
uint32: 1 |
bForceCompareProperties |
|
|
uint32: 1 |
bHoldQueuedExportBunchesAndGUIDs |
|
|
uint32: 1 |
bIsReplicatingActor |
|
|
float |
CustomTimeDilation |
|
|
double |
LastUpdateTime |
|
|
PendingGuidResolves |
||
|
QueuedBunches |
Async networking loading support state. |
|
|
double |
QueuedBunchStartTime |
|
|
EChannelCloseRe... |
QueuedCloseReason |
|
|
QueuedExportBunches |
||
|
QueuedMustBeMappedGuidsInLastBunch |
||
|
double |
RelevantTime |
Variables. |
|
ReplicationMap |
||
|
uint32: 1 |
SpawnAcked |
Name | Description | |
---|---|---|
|
UActorChannel ( |
Default constructor |
Name | Description | |
---|---|---|
|
~UActorChannel() |
Name | Description | ||
---|---|---|---|
|
void |
AddReferencedObjects ( |
|
|
void |
BreakAndReleaseReferences() |
Release any references this channel is holding to UObjects and object replicators and mark it as broken. |
|
bool |
CanIgnoreDeprecatedReplicateSubObjects() |
Only returns true when calling ReplicateSubobjects() while we are trying to detect bad usage of the legacy function. |
|
void |
CleanupReplicators ( |
Cleans up replicators and clears references to the actor class this channel was associated with. |
|
TSharedRef< ... |
CreateReplicator ( |
Creates a new object replicator or reuses a replicator if it was stored for dormancy in the Connection. |
|
void |
DestroyActorAndComponents() |
|
|
bool |
DoSubObjectReplication ( |
Handle the replication of subobjects for this actor. |
|
TSharedRef< ... |
FindOrCreateReplicator ( |
Convenience method for finding a replicator, and creating one if necessary, all at once. |
|
TSharedRef< ... |
FindReplicator ( |
Attempts to find a valid, non-dormant replicator for the given object. |
|
AActor * |
GetActor() |
UActorChannel interface and accessors. |
|
FObjectRepli... |
GetActorReplicationData() |
Returns the replicator for the actor associated with this channel. Guaranteed to exist. |
|
const TArray... |
GetCreatedSubObjects() |
|
|
FNetFieldExp... |
GetNetFieldExportGroupForClassNetCache ( |
Finds the net field export group for a class net cache, if not found, creates one |
|
FNetFieldExp... |
GetOrCreateNetFieldExportGroupForClassNetCache ( |
Finds (or creates) the net field export group for a class net cache, if not found, creates one |
|
bool |
GetSkipRoleSwap() |
|
|
bool |
IsActorReadyForReplication() |
Tells if the actor is ready to be replicated since he is BeginPlay or inside BeginPlay |
|
void |
MoveMappedObjectToUnmapped ( |
Unmap all references to this object, so that if later we receive this object again, we can remap the original references |
|
void |
NotifyActorChannelOpen |
|
|
bool |
ObjectHasReplicator ( |
|
|
void |
PrepareForRemoteFunction ( |
If not queueing the RPC, prepare the channel for replicating the call. |
|
void |
ProcessBunch ( |
|
|
bool |
ProcessQueuedBunches() |
|
|
void |
QueueRemoteFunctionBunch |
Queue a function bunch for this channel to be sent on the next property update. |
|
UObject *... |
ReadContentBlockHeader ( |
Reads the header of the content block and instantiates the subobject if necessary |
|
UObject *... |
ReadContentBlockPayload ( |
Reads content block header and payload |
|
bool |
ReadFieldHeaderAndPayload ( |
Reads property/function header and data blob from network stream |
|
void |
ReleaseReferences ( |
|
|
int64 |
ReplicateActor() |
Replicate this channel's actor differences. |
|
bool |
ReplicateSubobject ( |
Replicates an ActorComponent subobject. |
|
bool |
ReplicateSubobject ( |
Replicates given subobject on this actor channel |
|
bool |
ReplicateSubobjectCustom ( |
Custom implementation for ReplicateSubobject when RepFlags.bUseCustomSubobjectReplication is true |
|
void |
SetChannelActor ( |
Set this channel's actor to the given actor. |
|
void |
SetCurrentSubObjectOwner ( |
Subobject Replication state |
|
void |
SetCurrentSubObjectOwner ( |
Subobject Replication state |
|
void |
SetForcedSerializeFromRPC ( |
|
|
void |
SetSkipRoleSwap ( |
|
|
const TCHAR ... |
ToString |
|
|
void |
WriteContentBlockForSubObjectDelete ( |
Writes the header for a content block specifically for deleting sub-objects |
|
void |
WriteContentBlockHeader ( |
Writes the header for a content block of properties / RPCs for the given object (either the actor a subobject of the actor) |
|
int32 |
WriteContentBlockPayload ( |
Writes header and payload of content block |
|
int32 |
WriteFieldHeaderAndPayload ( |
Writes property/function header and data blob to network stream |
Name | Description | ||
---|---|---|---|
|
void |
AddedToChannelPool() |
Notification that this channel has been placed in a channel pool and needs to reset to its original state so it can be used again like a new channel |
|
void |
AppendExportBunches |
Append any export bunches |
|
void |
AppendMustBeMappedGuids ( |
Append any "must be mapped" guids to front of bunch. |
|
void |
BecomeDormant() |
Closes the actor channel but with a 'dormant' flag set so it can be reopened |
|
bool |
CanStopTicking() |
Return true to indicate that this channel no longer needs to Tick() every frame. |
|
bool |
CleanUp ( |
Cleans up channel structures and nulls references to the channel |
|
int64 |
Close ( |
Close the base channel. Returns how many bits were written to the send buffer |
|
Describe() |
Describe the channel. |
|
|
void |
Init ( |
UChannel interface. |
|
bool |
ReadyForDormancy ( |
Returns true if channel is ready to go dormant (e.g., all outstanding property updates have been ACK'd) |
|
void |
ReceivedBunch ( |
Handle an incoming bunch. |
|
void |
ReceivedNak ( |
Negative acknowledgment processing. |
|
void |
SetClosingFlag() |
Set the closing flag. |
|
void |
StartBecomingDormant() |
Puts the channel in a state to start becoming dormant. |
|
void |
Tick() |
Handle time passing on this channel. |
Name |
Description |
|
---|---|---|
|
ESubObjectDeleteFlag |
Name |
Description |
---|---|
ClassNetCacheSuffix |
Name | Description | ||
---|---|---|---|
|
CreateSubObjects |
The CreateSubObjects array will be made private in future versions. Use GetCreatedSubObjects() instead |
Name | Description | ||
---|---|---|---|
|
TSharedRef< ... |
CreateReplicator ( |
This function has been deprecated in favor of the one with a single parameter |
|
TSharedRef< ... |
FindReplicator ( |
This function has been deprecated in favor of the one with a single parameter |
|
bool |
ReplicateSubobjectList ( |
This function will be deleted. Register your subobjects using AddReplicatedSubObject instead. |
|
void |
WriteContentBlockForSubObjectDelete ( |
This function will be made private in the future. |