Open 3D Engine GridMate API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
GridMate::ReplicaStatus Class Reference

Inherits GridMate::ReplicaChunkBase.

Classes

struct  ReplicaOptions
 

Public Types

typedef AZStd::intrusive_ptr< ReplicaStatusPtr
 
- Public Types inherited from GridMate::ReplicaChunkBase
using RPCQueue = AZStd::ring_buffer< Internal::RpcRequest *, SysContAlloc >
 

Public Member Functions

 GM_CLASS_ALLOCATOR (ReplicaStatus)
 
void OnAttachedToReplica (Replica *replica) override
 
void OnDetachedFromReplica (Replica *replica) override
 
bool IsReplicaMigratable () override
 
const char * GetDebugName () const
 
void SetDebugName (const char *debugName)
 
void SetUpstreamSuspended (bool isSuspended)
 
bool IsUpstreamSuspended () const
 
- Public Member Functions inherited from GridMate::ReplicaChunkBase
void Init (ReplicaChunkClassId chunkTypeId)
 Initializes the chunk. Must be called before the chunk can be used.
 
void Init (ReplicaChunkDescriptor *descriptor)
 
bool IsClassType (ReplicaChunkClassId classId) const
 
ReplicaChunkDescriptorGetDescriptor () const
 
ReplicaId GetReplicaId () const
 
PeerId GetPeerId () const
 
virtual ReplicaManagerGetReplicaManager ()
 
bool IsActive () const
 
bool IsPrimary () const
 
bool IsProxy () const
 
virtual void UpdateChunk (const ReplicaContext &rc)
 
virtual void UpdateFromChunk (const ReplicaContext &rc)
 
virtual bool AcceptChangeOwnership (PeerId requestor, const ReplicaContext &rc)
 
virtual void OnReplicaActivate (const ReplicaContext &rc)
 
virtual void OnReplicaDeactivate (const ReplicaContext &rc)
 
virtual void OnReplicaChangeOwnership (const ReplicaContext &rc)
 
virtual bool IsUpdateFromReplicaEnabled ()
 
ReplicaGetReplica ()
 
void SetHandler (ReplicaChunkInterface *handler)
 
ReplicaChunkInterfaceGetHandler ()
 
ReplicaPriority GetPriority () const
 
void SetPriority (ReplicaPriority priority)
 
virtual bool ShouldSendToPeer (ReplicaPeer *peer) const
 
template<typename T >
bool IsType ()
 
virtual bool IsBroadcast ()
 
AZ::u64 GetLastChangeStamp () const
 
virtual bool ShouldBindToNetwork ()
 

Static Public Member Functions

static const char * GetChunkName ()
 
static void RegisterType ()
 

Public Attributes

Rpc< RpcArg< PeerId > >::BindInterface< ReplicaStatusInterface, &ReplicaStatusInterface::RequestOwnershipFn > RequestOwnership
 Called on the originator node to request replica migration.
 
Rpc< RpcArg< PeerId >, RpcArg< AZ::u32 > >::BindInterface< ReplicaStatusInterface, &ReplicaStatusInterface::MigrationSuspendUpstreamFn, RpcAuthoritativeTraitsMigrationSuspendUpstream
 Called by the primary to suspend upstream requests during replica migration.
 
Rpc< RpcArg< PeerId >, RpcArg< AZ::u32 > >::BindInterface< ReplicaStatusInterface, &ReplicaStatusInterface::MigrationRequestDownstreamAckFn, RpcAuthoritativeTraitsMigrationRequestDownstreamAck
 Called by the primary to signal downstream flush during replica migration.
 
DataSet< ReplicaOptions, ReplicaOptions::Marshalerm_options
 
DataSet< AZ::u32 > m_ownerSeq
 
- Public Attributes inherited from GridMate::ReplicaChunkBase
friend Replica
 
friend RpcBase
 
friend DataSetBase
 

Additional Inherited Members

- Static Public Attributes inherited from GridMate::ReplicaChunkBase
static constexpr AZStd::size_t MaxRpcQueueSize = 512
 Specify the maximum size of a RPC queues for each replica chunk. This queue can grow while RPCs are being delivered back to all clients.
 
- Protected Types inherited from GridMate::ReplicaChunkBase
enum  Flags { RepChunk_Updated = 1 << 0 }
 
- Protected Member Functions inherited from GridMate::ReplicaChunkBase
virtual AZ::u32 CalculateDirtyDataSetMask (MarshalContext &mc)
 
virtual void OnDataSetChanged (const DataSetBase &dataSet)
 
virtual void Marshal (MarshalContext &mc, AZ::u32 chunkIndex)
 
virtual void Unmarshal (UnmarshalContext &mc, AZ::u32 chunkIndex)
 
AZ_FORCE_INLINE void add_ref ()
 
void release ()
 
void AttachedToReplica (Replica *replica)
 
void DetachedFromReplica ()
 
bool IsDirty (AZ::u32 marshalFlags) const
 
PrepareDataResult PrepareData (EndianType endianType, AZ::u32 marshalFlags)
 
void MarshalDataSets (MarshalContext &mc, AZ::u32 chunkIndex)
 
void MarshalRpcs (MarshalContext &mc, AZ::u32 chunkIndex)
 
void UnmarshalDataSets (UnmarshalContext &mc, AZ::u32 chunkIndex)
 
void UnmarshalRpcs (UnmarshalContext &mc, AZ::u32 chunkIndex)
 
void AddDataSetEvent (DataSetBase *dataset)
 
void SignalDataSetChanged (const DataSetBase &dataset)
 
void EnqueueMarshalTask ()
 
void QueueRPCRequest (GridMate::Internal::RpcRequest *rpc)
 
bool ProcessRPCs (const ReplicaContext &rc)
 
void MarkRPCsAsRelayed ()
 
void ClearPendingRPCs ()
 
- Protected Attributes inherited from GridMate::ReplicaChunkBase
unsigned int m_refCount
 
Replicam_replica
 
ReplicaChunkDescriptorm_descriptor
 
AZ::u32 m_flags
 
RPCQueue m_rpcQueue {MaxRpcQueueSize}
 
ReplicaChunkInterfacem_handler
 
AZStd::bitset< GM_MAX_DATASETS_IN_CHUNK > m_reliableDirtyBits
 
AZStd::bitset< GM_MAX_DATASETS_IN_CHUNK > m_unreliableDirtyBits
 
AZStd::bitset< GM_MAX_DATASETS_IN_CHUNK > m_nonDefaultValueBits
 
AZ::u32 m_nDownstreamReliableRPCs
 
AZ::u32 m_nDownstreamUnreliableRPCs
 
AZ::u32 m_nUpstreamReliableRPCs
 
AZ::u32 m_nUpstreamUnreliableRPCs
 
AZ::u32 m_dirtiedDataSets
 
ReplicaPriority m_priority
 
AZ::u64 m_revision
 

The documentation for this class was generated from the following file: