Navigation
API > API/Plugins > API/Plugins/DisplayClusterReplication
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNetDriver
- UIpNetDriver
- UDisplayClusterNetDriver
References
| Module | DisplayClusterReplication |
| Header | /Engine/Plugins/Runtime/nDisplay/Source/DisplayClusterReplication/Public/DisplayClusterNetDriver.h |
| Include | #include "DisplayClusterNetDriver.h" |
Syntax
UCLASS&40;Transient, Config&61;Engine&41;
class UDisplayClusterNetDriver : public UIpNetDriver
Remarks
Custom NetDriver for DisplayCluster. Responsible for synchronous application of network packets across display cluster nodes. Results in seamless image when used with Actor replication system.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bClusterHasConnected | True if cluster has connected. | |
| bool | bConnectionViewersAreReady | Checks if connections viewers for Primary node were formed. | |
| bool | bLastBunchWasAcked | Used to control state of acked packets queue. | |
| TMap< uint32, TArray< UDisplayClusterNetConnection * > > | ClusterConnections | NDisplay Node connections which corresponds to specific cluster | |
| TArray< uint8 > | ClusterEventData | Binary event data. Member of the class to prevent runtime reallocations. | |
| TUniquePtr< FDisplayClusterNetDriverHelper > | ClusterNetworkDriverHelper | NetDriver helper for Display Cluster Events. | |
| FDisplayClusterReplicationState | ClusterReplicationState | Stores replication state to produce additional replication in order to equalize number of actors for each sync connection. | |
| FOnClusterEventBinaryListener | EventBinaryListener | Binary event listener. | |
| TMap< int32, int32 > | LastAckedPacket | Contains last max acked packet for specific connection (key - connectionID, value - packetID) | |
| TSet< UDisplayClusterNetConnection * > | NodeConnections | NDisplay node connections | |
| TMap< int32, TDeque< int32 > > | OutPacketsQueues | Contains queue of non-processed packets for specific connection (key - connectionID, value - packetID) | |
| TMap< uint32, int32 > | PacketsParams | Holds ready packets for each client. Member of the class to prevent runtime reallocations. | |
| TArray< FNetViewer > | PivotNodeConnectionViewers | ConnectionViewers for Pivot node (primary node connection) | |
| TSet< UDisplayClusterNetConnection * > | PrimaryNodeConnections | NDisplay Primary node connections | |
| TMap< int32, int32 > | ReadyOutPackets | Holds packets that are ready for replication (key - connectionID, value - packetID) | |
| TSet< UDisplayClusterNetConnection * > | SyncConnections | NDisplay node connections that participate in synchronous replication |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UDisplayClusterNetDriver
(
const FObjectInitializer& ObjectInitializer |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddNodeConnection
(
UDisplayClusterNetConnection* NetConnection |
Adds connection to nDisplay connection TSet | |
| void | GenerateClusterCommandsEvent
(
FDisplayClusterClusterEventBinary& NetworkDriverSyncEvent, |
Helper functions for parameters serialization into binary event data. | |
| void | GenerateClusterCommandsEvent
(
FDisplayClusterClusterEventBinary& NetworkDriverSyncEvent, |
Helper functions for parameters serialization into binary event data. | |
| void | HandleEvent
(
FDisplayClusterClusterEventBinary const& InEvent |
Performs Cluster Event handling: sync mode start and packet processing on client side | |
| void | RemoveNodeConnection
(
UDisplayClusterNetConnection* NetConnection |
Removes connection from nDisplay connection TSet and from synchronized connections |
Overridden from UNetDriver
| Type | Name | Description | |
|---|---|---|---|
| bool | InitListen
(
FNetworkNotify* InNotify, |
Initialize the network driver in server mode (listener) | |
| void | TickDispatch
(
float DeltaTime |
Handle time update: read and process packets | |
| void | TickFlush
(
float DeltaSeconds |
ReplicateActors and Flush |
Constants
| Name | Description |
|---|---|
| NodeSyncEvent | Cluster event id, used to start synchrosonus packets processing. |
| PacketSyncEvent | Cluster event id, used to identify packet data blob for sync. |