VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
DtExternalCommModel Class Reference
Inheritance diagram for DtExternalCommModel:
Inheritance graph
[legend]

Classes

struct  DtClearToReceiveData
 

Public Member Functions

virtual ~DtExternalCommModel ()
 
virtual DtString type () const
 
virtual void registerRadio (DtVrfRadio *radio)
 
virtual void sendMessage (DtVrfObjectMessage *message, DtVrfRadio *sendingRadio)
 
virtual void tick ()
 
- Public Member Functions inherited from DtCommModel
virtual ~DtCommModel ()
 
virtual void unregisterRadio (DtVrfRadio *radio)
 
virtual bool publishTransmitters () const
 
virtual bool sendReceivedCommMessageOnBroadcast () const
 
virtual void clearPendingRadioMessages ()
 

Static Public Member Functions

static DtCommModelcreate (DtCommModelCreationParams &params)
 
- Static Public Member Functions inherited from DtCommModel
static DtCommModelcreate (DtCommModelCreationParams &params)
 
static void setFactory (DtCommModelFactory *factory)
 
static DtCommModelcreateCommModel (const DtString &typeString, DtSimulationServices *simManager, const DtCommModelDescriptor *descriptor)
 

Protected Types

typedef std::map< DtU32,
DtVrfObjectMessageConstPtr
DtRadioMessageMap
 
typedef std::deque
< DtClearToReceiveData
DtClearToReceiveDeque
 
typedef std::map< DtU32,
DtExternalCommsProcessMessageData
DtExternalCommsMessageDataMap
 
typedef std::map< DtU32,
DtExternalCommsTimeoutData
DtExternalCommsTimeoutMap
 
- Protected Types inherited from DtCommModel
typedef std::multimap< DtUUID,
DtVrfRadio * > 
DtRadioMap
 

Protected Member Functions

 DtExternalCommModel (DtCommModelCreationParams &params)
 
virtual bool init ()
 
virtual DtU32 nextMessageId (const DtEntityIdentifier &entityId)
 
virtual void passMessageToReceiver (DtVrfObjectMessageConstPtr, const DtEntityIdentifier &receiver)
 
virtual void processMessageClearToReceive (const DtExternalCommsProcessMessageData &data)
 
virtual void processMessageTimeout (const DtExternalCommsTimeoutData &data)
 
virtual void processNewMessage (const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams &params)
 
virtual void processReadyToSend (const DtExternalCommsReadyToSendData &data)
 
- Protected Member Functions inherited from DtCommModel
 DtCommModel (DtCommModelCreationParams &params)
 
virtual DtVrfRadiofindRadio (const DtUUID &object, int radioId) const
 
virtual DtVrfRadiofindRadio (const DtEntityIdentifier &entityId, int radioId) const
 
virtual void deliverMessageToRecipients (const DtVrfObjectMessage *message)
 

Static Protected Member Functions

static void messageClearToReceiveCallback (const DtExternalCommsProcessMessageData &data, void *usr)
 
static void messageTimeoutCallback (const DtExternalCommsTimeoutData &data, void *usr)
 
static void newMessageCallback (const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams &params, void *usr)
 
static void readyToSendCallback (const DtExternalCommsReadyToSendData &data, void *usr)
 

Protected Attributes

tbb::atomic< unsigned intmyLastMessageId
 
DtRadioMessageMap mySentMessages
 
DtExternalCommsMessageTransportermyTransporter
 
DtClearToReceiveDeque myClearToReceiveDeque
 
const
DtExternalCommModelDescriptor
myExternalCommModelDescriptor
 
DtExternalCommsMessageDataMap myWaitingForMessageMap
 
DtExternalCommsTimeoutMap myTimedOutMessageMap
 
tbb::spin_mutex mySentMessagesMutex
 
- Protected Attributes inherited from DtCommModel
DtSimulationServicesmySimulationServices
 
const DtCommModelDescriptormyDescriptor
 
DtRadioMap myRadios
 
tbb::spin_rw_mutex myMutex
 

Private Member Functions

 DtExternalCommModel ()
 
 DtExternalCommModel (const DtExternalCommModel &orig)
 
DtExternalCommModeloperator= (const DtExternalCommModel &orig)
 

Additional Inherited Members

- Static Protected Attributes inherited from DtCommModel
static DtCommModelFactorytheFactory
 

Member Typedef Documentation

This holds messages that have been cleared for sending by the external comms server. The messages will not be sent until the next tick of the propagator.

This holds information for Qualnet clear to receive, if the transporter hasn't finished collecting all message parts.

This holds information for Qualnet timeout, if the transporter hasn't finished collecting all message parts.

Constructor & Destructor Documentation

DtExternalCommModel::DtExternalCommModel ( )
private

Not implemented.

DtExternalCommModel::DtExternalCommModel ( const DtExternalCommModel orig)
private

Not implemented.

DtExternalCommModel::DtExternalCommModel ( DtCommModelCreationParams params)
protected

Use the create() method instead of calling the constructor.

virtual DtExternalCommModel::~DtExternalCommModel ( )
virtual

Member Function Documentation

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

Not implemented.

virtual bool DtExternalCommModel::init ( )
protectedvirtual

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

Reimplemented from DtCommModel.

static DtCommModel* DtExternalCommModel::create ( DtCommModelCreationParams params)
static

Static creator function that can be registered with factories. Calls the constructor, and init() on the new instance before returning it.

virtual DtString DtExternalCommModel::type ( ) const
virtual
Returns
DtExternalCommModelType.

Reimplemented from DtCommModel.

virtual void DtExternalCommModel::registerRadio ( DtVrfRadio radio)
virtual

Overridden to set ReadyToSend on the radio to true if the model is not using external ready to send signals.

Reimplemented from DtCommModel.

virtual void DtExternalCommModel::sendMessage ( DtVrfObjectMessage message,
DtVrfRadio sendingRadio 
)
virtual

Send this message if/when the external comms server indicates that it should be sent. The sender and receiver in the message are used as the sender and receiver for the comms server.

Reimplemented from DtCommModel.

virtual void DtExternalCommModel::tick ( )
virtual

Delivers any messages that have been approved for delivery and are on the queue.

Reimplemented from DtCommModel.

virtual DtU32 DtExternalCommModel::nextMessageId ( const DtEntityIdentifier &  entityId)
protectedvirtual
virtual void DtExternalCommModel::passMessageToReceiver ( DtVrfObjectMessageConstPtr  ,
const DtEntityIdentifier &  receiver 
)
protectedvirtual

Gives the message to the indicated receiver.

static void DtExternalCommModel::messageClearToReceiveCallback ( const DtExternalCommsProcessMessageData data,
void *  usr 
)
staticprotected
virtual void DtExternalCommModel::processMessageClearToReceive ( const DtExternalCommsProcessMessageData data)
protectedvirtual
static void DtExternalCommModel::messageTimeoutCallback ( const DtExternalCommsTimeoutData data,
void *  usr 
)
staticprotected
virtual void DtExternalCommModel::processMessageTimeout ( const DtExternalCommsTimeoutData data)
protectedvirtual
static void DtExternalCommModel::newMessageCallback ( const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams params,
void *  usr 
)
staticprotected
virtual void DtExternalCommModel::processNewMessage ( const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams params)
protectedvirtual
static void DtExternalCommModel::readyToSendCallback ( const DtExternalCommsReadyToSendData data,
void *  usr 
)
staticprotected
virtual void DtExternalCommModel::processReadyToSend ( const DtExternalCommsReadyToSendData data)
protectedvirtual

Member Data Documentation

tbb::atomic<unsigned int> DtExternalCommModel::myLastMessageId
protected
DtRadioMessageMap DtExternalCommModel::mySentMessages
protected

Contains all the message that have been sent, but are awaiting authorization from the external comms server.

DtExternalCommsMessageTransporter* DtExternalCommModel::myTransporter
protected
DtClearToReceiveDeque DtExternalCommModel::myClearToReceiveDeque
protected
const DtExternalCommModelDescriptor* DtExternalCommModel::myExternalCommModelDescriptor
protected
DtExternalCommsMessageDataMap DtExternalCommModel::myWaitingForMessageMap
protected
DtExternalCommsTimeoutMap DtExternalCommModel::myTimedOutMessageMap
protected
tbb::spin_mutex DtExternalCommModel::mySentMessagesMutex
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)