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 Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
GridMate::DefaultSimulator Class Reference

#include <DefaultSimulator.h>

Inherits GridMate::Simulator.

Classes

struct  Packet
 

Public Member Functions

 GM_CLASS_ALLOCATOR (DefaultSimulator)
 
void Enable ()
 
void Disable ()
 
bool IsEnabled () const
 
void SetOutgoingLatency (unsigned int minDelayMS, unsigned int maxDelayMS)
 
void SetIncomingLatency (unsigned int minDelayMS, unsigned int maxDelayMS)
 
void GetOutgoingLatency (unsigned int &minDelayMS, unsigned int &maxDelayMS)
 
void GetIncomingLatency (unsigned int &minDelayMS, unsigned int &maxDelayMS)
 
void SetOutgoingPacketLoss (unsigned int minInterval, unsigned int maxInterval)
 Lose one packet every interval.
 
void SetIncomingPacketLoss (unsigned int minInterval, unsigned int maxInterval)
 
void GetOutgoingPacketLoss (unsigned int &minInterval, unsigned int &maxInterval)
 
void GetIncomingPacketLoss (unsigned int &minInterval, unsigned int &maxInterval)
 
void SetOutgoingBandwidth (unsigned int minBandwidthKbps, unsigned int maxBandwidthKbps)
 
void SetIncomingBandwidth (unsigned int minBandwidthKbps, unsigned int maxBandwidthKbps)
 
void GetOutgoingBandwidth (unsigned int &minBandwidthKbps, unsigned int &maxBandwidthKbps)
 
void GetIncomingBandwidth (unsigned int &minBandwidthKbps, unsigned int &maxBandwidthKbps)
 
void SetOutgoingPacketDrop (unsigned int minDropInterval, unsigned int maxDropInterval, unsigned int minDropPeriod, unsigned int maxDropPeriod)
 
void SetIncomingPacketDrop (unsigned int minDropInterval, unsigned int maxDropInterval, unsigned int minDropPeriod, unsigned int maxDropPeriod)
 
void GetOutgoingPacketDrop (unsigned int &minDropInterval, unsigned int &maxDropInterval, unsigned int &minDropPeriod, unsigned int &maxDropPeriod)
 
void GetIncomingPacketDrop (unsigned int &minDropInterval, unsigned int &maxDropInterval, unsigned int &minDropPeriod, unsigned int &maxDropPeriod)
 
void SetOutgoingReorder (bool enable)
 
void SetIncomingReorder (bool enable)
 
bool IsOutgoingReorder () const
 
bool IsIncomingReorder () const
 

Protected Types

typedef list< PacketPacketListType
 

Protected Member Functions

void FreeAllData ()
 Free all internal data.
 

Protected Attributes

AZStd::mutex m_lock
 
volatile bool m_enable
 
unsigned int m_minOutLatency
 
unsigned int m_maxOutLatency
 
unsigned int m_minInLatency
 
unsigned int m_maxInLatency
 
unsigned int m_minOutPacketLoss
 
unsigned int m_maxOutPacketLoss
 
volatile bool m_isOutPacketLoss
 
unsigned int m_minInPacketLoss
 
unsigned int m_maxInPacketLoss
 
volatile bool m_isInPacketLoss
 
unsigned int m_numOutPacketsTillDrop
 
unsigned int m_numInPacketsTillDrop
 
unsigned int m_minInPacketDropInterval
 Min interval to drop packets in milliseconds for inbound packets.
 
unsigned int m_maxInPacketDropInterval
 Max interval to drop packets in milliseconds for inbound packets.
 
unsigned int m_minInPacketDropPeriod
 Min period for packet drop in milliseconds for inbound packets. We drop packets for DropInterval every DropPeriod.
 
unsigned int m_maxInPacketDropPeriod
 Max – " –.
 
unsigned int m_minOutPacketDropInterval
 Min interval to drop packets in milliseconds for outbound packets.
 
unsigned int m_maxOutPacketDropInterval
 Max – " –.
 
unsigned int m_minOutPacketDropPeriod
 Min period for packet drop in milliseconds for inbound packets. We drop packets for DropInterval every DropPeriod.
 
unsigned int m_maxOutPacketDropPeriod
 Max – " –.
 
unsigned int m_inPacketDropInterval
 If interval is != 0 we are currently dropping packets. Interval value is in milliseconds.
 
unsigned int m_inPacketDropPeriod
 Milliseconds left until net simulation interval in milliseconds inbound.
 
unsigned int m_outPacketDropInterval
 If interval is != 0 we are currently dropping packets. Interval value is in milliseconds.
 
unsigned int m_outPacketDropPeriod
 Milliseconds left until net simulation interval in milliseconds outbound.
 
unsigned int m_minOutBandwidth
 
unsigned int m_maxOutBandwidth
 
unsigned int m_minInBandwidth
 
unsigned int m_maxInBandwidth
 
unsigned int m_currentDataOut
 How much data have we send since m_dataLimiterTimeout was reset in bytes.
 
unsigned int m_currentDataOutMax
 What is the current output data limit till m_dataLimiterTimeout is reset in bytes.
 
unsigned int m_currentDataIn
 How much data have we received since m_dataLimiterTimeout was reset in bytes.
 
unsigned int m_currentDataInMax
 What is the current incoming data limit till m_dataLimiterTimeout is reset in bytes.
 
unsigned int m_dataLimiterTimeout
 Time since we counting currentDataXXX limits.
 
volatile bool m_outReorder
 
volatile bool m_inReorder
 
PacketListType m_outgoing
 
PacketListType m_incoming
 
TimeStamp m_currentTime
 Current time. (replace this with a global clock when possible.)
 
class Driverm_driver
 

Friends

class CarrierThread
 

Detailed Description

Simulator default implementation. It will run on the network thread so all user functions are thread safe.


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