VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
DtSimInternalCommunicationManager Class Reference

The manager for SimInternal messages on a single simulation engine. More...

Public Types

typedef tbb::spin_mutex Mutex
 

Public Member Functions

virtual ~DtSimInternalCommunicationManager ()
 
virtual void deliverMessage (const DtVrfObjectMessage *message)
 Puts this message on the message delivery queue. More...
 
virtual void tick ()
 Delivers all messages currently on the delivery queue. More...
 
virtual void clearQueue ()
 Clears all messages currently on the delivery queue without delivering them. More...
 
virtual void registerCommunicationInterface (DtSimInternalCommunicationInterface *commIf)
 Add/remove a DtSimInternalCommunicationInterface from this manager. More...
 
virtual void unregisterCommunicationInterface (DtSimInternalCommunicationInterface *commIf)
 

Static Public Member Functions

static
DtSimInternalCommunicationManager
create (DtSimManager *simMgr)
 Calls the constructor and the virtual init(). More...
 

Protected Types

typedef std::list
< DtSimInternalCommunicationInterface * > 
DtCommInterfaceList
 
typedef std::deque
< DtVrfObjectMessage * > 
DtMessageDeque
 

Protected Member Functions

 DtSimInternalCommunicationManager (DtSimManager *simMgr)
 Use the create() method instead of the constructor. More...
 
virtual bool init ()
 Virtual init() called by the create() method. More...
 
virtual void deliverMessageLocally (const DtVrfObjectMessage *message)
 Sends this message to any local interfaces that should receive the messages. More...
 
virtual void deliverMessageRemotely (const DtVrfObjectMessage *message)
 Sends this message to the network so other VRF sim engines can receive and process it. More...
 
virtual bool objectShouldReceiveMessage (DtVrfObject *vrfObj, const DtVrfObjectMessage *msg)
 

Protected Attributes

DtSimManagermySimManager
 
DtCommInterfaceList myCommInterfaceList
 
DtMessageDeque myMessagesToDeliver
 Queue which stores messages that need to be delivered. More...
 
Mutex myMessageMutex
 

Private Member Functions

 DtSimInternalCommunicationManager ()
 Not Implemented. More...
 
 DtSimInternalCommunicationManager (const DtSimInternalCommunicationManager &orig)
 Not Implemented. More...
 
DtSimInternalCommunicationManageroperator= (const DtSimInternalCommunicationManager &orig)
 Not Implemented. More...
 
virtual void processDeliverRadioMessage (DtSimMessage *msg)
 
static void deliverRadioMessageCallback (DtSimMessage *msg, void *usr)
 Callback for processing deliver radio message types of interface messages. More...
 

Detailed Description

The manager for SimInternal messages on a single simulation engine.

This class manages the passing of DtVrfObjectMessage instances between different DtSimInternalCommunicationInterface instances. A message is passed from the communication interface to this class, which then passes it out to the appropriate destination interfaces, if any. This class is also responsible for sending the messages onto the network to other instances of this class in other VRF simulation engines.

Member Typedef Documentation

Constructor & Destructor Documentation

DtSimInternalCommunicationManager::DtSimInternalCommunicationManager ( )
private

Not Implemented.

DtSimInternalCommunicationManager::DtSimInternalCommunicationManager ( const DtSimInternalCommunicationManager orig)
private

Not Implemented.

DtSimInternalCommunicationManager::DtSimInternalCommunicationManager ( DtSimManager simMgr)
protected

Use the create() method instead of the constructor.

virtual DtSimInternalCommunicationManager::~DtSimInternalCommunicationManager ( )
virtual

Member Function Documentation

DtSimInternalCommunicationManager& DtSimInternalCommunicationManager::operator= ( const DtSimInternalCommunicationManager orig)
private

Not Implemented.

static DtSimInternalCommunicationManager* DtSimInternalCommunicationManager::create ( DtSimManager simMgr)
static

Calls the constructor and the virtual init().

Returns
Newly created object.
virtual bool DtSimInternalCommunicationManager::init ( )
protectedvirtual

Virtual init() called by the create() method.

virtual void DtSimInternalCommunicationManager::registerCommunicationInterface ( DtSimInternalCommunicationInterface commIf)
virtual

Add/remove a DtSimInternalCommunicationInterface from this manager.

Only interfaces that are registered will be able to receive messages from this manager.

virtual void DtSimInternalCommunicationManager::unregisterCommunicationInterface ( DtSimInternalCommunicationInterface commIf)
virtual
virtual void DtSimInternalCommunicationManager::deliverMessage ( const DtVrfObjectMessage message)
virtual

Puts this message on the message delivery queue.

The message will be cloned by this method.

virtual void DtSimInternalCommunicationManager::tick ( )
virtual

Delivers all messages currently on the delivery queue.

virtual void DtSimInternalCommunicationManager::clearQueue ( )
virtual

Clears all messages currently on the delivery queue without delivering them.

static void DtSimInternalCommunicationManager::deliverRadioMessageCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Callback for processing deliver radio message types of interface messages.

virtual void DtSimInternalCommunicationManager::processDeliverRadioMessage ( DtSimMessage msg)
protectedvirtual
virtual void DtSimInternalCommunicationManager::deliverMessageLocally ( const DtVrfObjectMessage message)
protectedvirtual

Sends this message to any local interfaces that should receive the messages.

virtual void DtSimInternalCommunicationManager::deliverMessageRemotely ( const DtVrfObjectMessage message)
protectedvirtual

Sends this message to the network so other VRF sim engines can receive and process it.

virtual bool DtSimInternalCommunicationManager::objectShouldReceiveMessage ( DtVrfObject vrfObj,
const DtVrfObjectMessage msg 
)
protectedvirtual
Returns
True if the specified object should receive the message.

Member Data Documentation

DtSimManager* DtSimInternalCommunicationManager::mySimManager
protected
DtCommInterfaceList DtSimInternalCommunicationManager::myCommInterfaceList
protected
DtMessageDeque DtSimInternalCommunicationManager::myMessagesToDeliver
protected

Queue which stores messages that need to be delivered.

Mutex DtSimInternalCommunicationManager::myMessageMutex
mutableprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)