![]() |
VR-Forces Developer's Guide
|
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.
Public Member Functions | |
| DtSimInternalCommunicationManager (DtSimulationServices *simMgr) | |
| virtual bool | init () |
| virtual | ~DtSimInternalCommunicationManager () |
| virtual void | deliverMessage (const DtVrfObjectMessage *message) |
| virtual void | tick () |
| virtual void | clearQueue () |
| DtSimulationServices * | simulationServices () const |
| virtual void | deliverMessageLocally (const DtVrfObjectMessage *message) |
| virtual void | deliverMessageRemotely (const DtVrfObjectMessage *message) |
| virtual void | registerCommunicationInterface (DtSimInternalCommunicationInterface *commIf) |
| virtual void | unregisterCommunicationInterface (DtSimInternalCommunicationInterface *commIf) |
Protected Types | |
| typedef boost::unordered_map < DtUUID, std::set < DtSimInternalCommunicationInterface * > > | DtCommInterfaceList |
| typedef std::deque < DtVrfObjectMessage * > | DtMessageDeque |
| typedef tbb::spin_mutex | Mutex |
Protected Member Functions | |
| virtual bool | objectShouldReceiveMessage (DtLocalObject *vrfObj, const DtVrfObjectMessage *msg) |
| virtual void | processUUIDChanged (const DtUUID &oldUUID, const DtUUID &newUUID) |
Protected Attributes | |
| DtSimulationServices * | mySimulationServices |
| DtCommInterfaceList | myCommInterfaceList |
| DtMessageDeque | myMessagesToDeliver |
| Mutex | myMessageMutex |
| tbb::spin_mutex | myInterfaceMutex |
| boost::signals2::scoped_connection | myUUIDChangedConnection |
Private Member Functions | |
| DtSimInternalCommunicationManager () | |
| DtSimInternalCommunicationManager (const DtSimInternalCommunicationManager &orig) | |
| DtSimInternalCommunicationManager & | operator= (const DtSimInternalCommunicationManager &orig) |
| static void | deliverRadioMessageCallback (DtSimMessage *msg, void *usr) |
| virtual void | processDeliverRadioMessage (DtSimMessage *msg) |
|
protected |
|
protected |
|
protected |
|
private |
Not Implemented.
|
private |
Not Implemented.
| DtSimInternalCommunicationManager::DtSimInternalCommunicationManager | ( | DtSimulationServices * | simMgr | ) |
|
virtual |
|
private |
Not Implemented.
|
virtual |
Must call after creating.
|
virtual |
Add/remove a DtSimInternalCommunicationInterface from this manager. Only interfaces that are registered will be able to receive messages from this manager.
|
virtual |
Add/remove a DtSimInternalCommunicationInterface from this manager. Only interfaces that are registered will be able to receive messages from this manager.
|
virtual |
Puts this message on the message delivery queue. The message will be cloned by this method.
|
virtual |
Delivers all messages currently on the delivery queue.
|
virtual |
Clears all messages currently on the delivery queue without delivering them.
|
inline |
|
virtual |
Sends this message to any local interfaces that should receive the messages.
|
virtual |
Sends this message to the network so other VRF sim engines can receive and process it.
|
staticprotected |
Callback for processing deliver radio message types of interface messages.
|
protectedvirtual |
Callback for processing deliver radio message types of interface messages.
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
Queue which stores messages that need to be delivered.
|
mutableprotected |
|
mutableprotected |
|
protected |