VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtNetworkEventManager Class Reference
Inheritance diagram for DtNetworkEventManager:
Inheritance graph
[legend]

Public Member Functions

 DtNetworkEventManager ()
 
virtual ~DtNetworkEventManager ()
 
virtual void addEvent (const DtEvent &)
 Will check to see if this is an interaction that needs to be also sent on the network as well as added internally. More...
 
DtExerciseConn * exerciseConnection () const
 
virtual void setExerciseConnection (DtExerciseConn *)
 Set the exercise connection to use for this class. More...
 
virtual const DtSimulationAddress & messageAddress () const
 Get the address that should be used as the sender for all messages originating from the backend. More...
 
virtual void setTransportTypeReliable (int contentType)
 Sets the transport type for the given content type to be reliable. More...
 
virtual void setTransportTypeBestEffort (int contentType)
 Sets the transport type for the given content type to be best-effort. More...
 
virtual bool sendReliable (const DtVrfTDLMessage &message) const
 Update the transportation type to be used based on the given message. More...
 
virtual bool sendReliable (const DtSimInterfaceMessage &message) const
 
virtual void setProcessNetworkEventsLocally (bool)
 Whether or not to process events that are sent over the network locally if the connection is not self reflecting. More...
 
bool processNetworkEventsLocally () const
 
virtual bool selfReflecting (const DtEvent &) const
 Return true if exercise connection is reflecting. More...
 
virtual bool selfReflecting () const
 Wether or not an event added will be processed locally. Default is true. More...
 
- Public Member Functions inherited from DtEventManager
 DtEventManager ()
 
virtual ~DtEventManager ()
 
virtual void tick ()
 
virtual void setProcessEventsImmediately (bool b)
 Whether or not to put the messages onto a tickable queue (false) or process them immediately (true). More...
 
bool processEventsImmediately () const
 
virtual void selfReflect (unsigned int i)
 Whether or not to self reflect the given VRF data interaction messages (default is to self reflect all messages) More...
 
virtual void doNotSelfReflect (unsigned int i)
 
EventSignalsignalForFireEvent ()
 Convenience functions. More...
 
EventSignalsignalForDetonationEvent ()
 
EventSignalsignalForSimInterfaceContentMessage ()
 
EventSignalsignalForDataInteraction ()
 
EventSignalsignalForSignalInteraction ()
 
EventSignalsignalForCommentInteraction ()
 
EventSignalsignalForSensorFieldOfViewControlEvent ()
 
EventSignalsignalForStartResumeInteraction ()
 
EventSignalsignalForStopFreezeInteraction ()
 
EventSignalsignalDiGuyActionEvent ()
 
EventSignalsignalForInfluenceInteraction ()
 
EventSignalsignalDiGuyEndActionEvent ()
 
EventSignalsignalForServiceRequestEvent ()
 
EventSignalsignalForResupplyOfferEvent ()
 
EventSignalsignalForResupplyReceivedEvent ()
 
EventSignalsignalForResupplyCancelEvent ()
 
virtual void addEvent (const DtDetonationInteraction &)
 Convenience functions. More...
 
virtual void addEvent (const DtFireInteraction &)
 
virtual void addEvent (const DtAcknowledgeInteraction &)
 
virtual void addEvent (const DtStopFreezeInteraction &)
 
virtual void addEvent (const DtStartResumeInteraction &)
 
virtual void addEvent (const DtDataInteraction &)
 
virtual void addEvent (const DtSignalInteraction &)
 
virtual void addEvent (const DtCommentInteraction &)
 
virtual void addEvent (const DtSensorFieldOfViewControlInter &)
 
virtual void addevent (const DtSimInterfaceContent &)
 
virtual void addEvent (const DtDataInteractionWithTransportType &)
 
virtual void addEvent (const DtInfluenceInteraction &)
 
virtual void addEvent (const DtEndGestureInter &)
 
virtual void addEvent (const DtExecuteGestureInter &)
 
virtual void addEvent (const DtServiceRequestInteraction &)
 
virtual void addEvent (const DtResupplyOfferInteraction &)
 
virtual void addEvent (const DtResupplyRecInteraction &)
 
virtual void addEvent (const DtResupplyCancelInteraction &)
 
virtual EventSignalsignalForEvent (DtEvent::EventType type)
 Returns a signal for a particular event type that you will use to connect/disconnect with in order to be notified of that event being received. More...
 

Static Public Member Functions

static DtEventManagercreator ()
 
- Static Public Member Functions inherited from DtEventManager
static void setEventManagerCreatorFcn (DtEventManagerCreatorFcn fcn)
 
static DtEventManagercreateEventManager ()
 

Public Attributes

boost::signals2::signal< void(const
DtEvent &)> 
signal_sendingEventOnNetwork
 

Protected Member Functions

virtual void removeExerciseConnectionCallbacks ()
 
virtual void installExerciseConnectionCallbacks ()
 
virtual void processInfluence (DtInfluenceInteraction *)
 
virtual void processCommentInteraction (DtCommentInteraction *ctrlInter)
 
virtual void processFireCallback (DtFireInteraction *)
 
virtual void processGimbalControl (DtSensorFieldOfViewControlInter *ctrlInter)
 
virtual void processDetonationCallback (DtDetonationInteraction *)
 
virtual void processStartResumeInteractionCallback (DtStartResumeInteraction *d)
 
virtual void processStopFreezeInteractionCallback (DtStopFreezeInteraction *d)
 
virtual bool isNetworkEvent (const DtEvent &) const
 Returns true if this is to be sent on the network. More...
 
virtual bool sendNetworkEvent (const DtEvent &)
 Send this message on the network. More...
 
virtual void processNetMessage (DtDataInteraction *dataInter)
 
virtual void processSignalInteraction (DtSignalInteraction *dataInter)
 
virtual void processServiceRequestCallback (DtServiceRequestInteraction *)
 
virtual void processResupplyOfferCallback (DtResupplyOfferInteraction *)
 
virtual void processResupplyReceivedCallback (DtResupplyRecInteraction *)
 
virtual void processResupplyCancelCallback (DtResupplyCancelInteraction *)
 
virtual void initializeProtocolSpecific ()
 
- Protected Member Functions inherited from DtEventManager
virtual void postEvent (const DtEvent &)
 Puts the event into the queue. More...
 
virtual void processEvent (const DtEvent &)
 
virtual bool wantsToProcessEvent (const DtEvent &) const
 Return true to self reflect this VRF message (if it is one) More...
 

Static Protected Member Functions

static void influenceCallback (DtInfluenceInteraction *, void *)
 
static chardataInteractionChooser (DtExerciseConn *exConn, const DtInteraction &inter)
 
static void commentInteractionCallback (DtCommentInteraction *inter, void *usr)
 
static void fireCallback (DtFireInteraction *, void *)
 
static void setGimbalControlCallback (DtSensorFieldOfViewControlInter *ctrlInter, void *usr)
 
static void detonationCallback (DtDetonationInteraction *, void *)
 
static void startResumeInterationCallback (DtStartResumeInteraction *d, void *u)
 
static void stopFreezeInterationCallback (DtStopFreezeInteraction *d, void *u)
 
static void netMessageCallback (DtDataInteraction *dataInter, void *usr)
 
static void signalInteractionCallback (DtSignalInteraction *dataInter, void *usr)
 
static void serviceRequestCallback (DtServiceRequestInteraction *, void *)
 
static void resupplyOfferCallback (DtResupplyOfferInteraction *, void *)
 
static void resupplyReceivedCallback (DtResupplyRecInteraction *, void *)
 
static void resupplyCancelCallback (DtResupplyCancelInteraction *, void *)
 

Protected Attributes

DtExerciseConn * myExerciseConnection
 
bool myCallbacksInstalled
 
bool myDataCallbackInstalled
 
bool myProcessNetworkEventsLocally
 
bool myAllowReliableDataInteractions
 Whether reliable data interactions are supported. More...
 
std::set< intmyContentTypesToSendReliable
 Set of content types to be sent via reliable transport. More...
 
tbb::spin_rw_mutex myFedTimeMutex
 
- Protected Attributes inherited from DtEventManager
tbb::spin_mutex myMutex
 
std::vector< DtEvent * > myEvents
 
tbb::spin_mutex myCallbackMutex
 
EventCallbackMap myEventCallbackMap
 
bool myProcessEventsImmediately
 
std::set< unsigned intmyDoNotSelfReflect
 

Private Member Functions

 DtNetworkEventManager (const DtNetworkEventManager &)
 Not implemented. More...
 
DtNetworkEventManageroperator= (const DtNetworkEventManager &)
 Not implemented. More...
 

Additional Inherited Members

- Public Types inherited from DtEventManager
typedef
boost::signals2::signal< void(const
DtEvent &)> 
EventSignal
 
- Protected Types inherited from DtEventManager
typedef std::map
< DtEvent::EventType,
EventSignal * > 
EventCallbackMap
 
- Static Protected Attributes inherited from DtEventManager
static DtEventManagerCreatorFcn theEventManagerCreatorFcn
 

Constructor & Destructor Documentation

DtNetworkEventManager::DtNetworkEventManager ( const DtNetworkEventManager )
private

Not implemented.

DtNetworkEventManager::DtNetworkEventManager ( )
virtual DtNetworkEventManager::~DtNetworkEventManager ( )
virtual

Member Function Documentation

DtNetworkEventManager& DtNetworkEventManager::operator= ( const DtNetworkEventManager )
private

Not implemented.

virtual void DtNetworkEventManager::addEvent ( const DtEvent )
virtual

Will check to see if this is an interaction that needs to be also sent on the network as well as added internally.

If this is a self reflecting it will be sent on the network and then added via the manager by an exerise connection callback

Reimplemented from DtEventManager.

DtExerciseConn* DtNetworkEventManager::exerciseConnection ( ) const
inline
virtual void DtNetworkEventManager::setExerciseConnection ( DtExerciseConn *  )
virtual

Set the exercise connection to use for this class.

virtual const DtSimulationAddress& DtNetworkEventManager::messageAddress ( ) const
virtual

Get the address that should be used as the sender for all messages originating from the backend.

virtual void DtNetworkEventManager::setTransportTypeReliable ( int  contentType)
virtual

Sets the transport type for the given content type to be reliable.

virtual void DtNetworkEventManager::setTransportTypeBestEffort ( int  contentType)
virtual

Sets the transport type for the given content type to be best-effort.

Since best-effort will be the default for all messages not explicitly set to another transport type, this is only necessary to undo a previous setting.

virtual bool DtNetworkEventManager::sendReliable ( const DtVrfTDLMessage message) const
virtual

Update the transportation type to be used based on the given message.

virtual bool DtNetworkEventManager::sendReliable ( const DtSimInterfaceMessage message) const
virtual
virtual void DtNetworkEventManager::setProcessNetworkEventsLocally ( bool  )
virtual

Whether or not to process events that are sent over the network locally if the connection is not self reflecting.

Default is true

bool DtNetworkEventManager::processNetworkEventsLocally ( ) const
inline
virtual bool DtNetworkEventManager::selfReflecting ( const DtEvent ) const
virtual

Return true if exercise connection is reflecting.

Reimplemented in DtEventManagerTCP.

virtual bool DtNetworkEventManager::selfReflecting ( ) const
virtual

Wether or not an event added will be processed locally. Default is true.

Reimplemented from DtEventManager.

static DtEventManager* DtNetworkEventManager::creator ( )
static
virtual void DtNetworkEventManager::removeExerciseConnectionCallbacks ( )
protectedvirtual

Reimplemented in DtVrfNetworkEventManager.

virtual void DtNetworkEventManager::installExerciseConnectionCallbacks ( )
protectedvirtual
static void DtNetworkEventManager::influenceCallback ( DtInfluenceInteraction ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processInfluence ( DtInfluenceInteraction )
protectedvirtual
static char* DtNetworkEventManager::dataInteractionChooser ( DtExerciseConn *  exConn,
const DtInteraction inter 
)
staticprotected
static void DtNetworkEventManager::commentInteractionCallback ( DtCommentInteraction *  inter,
void *  usr 
)
staticprotected
virtual void DtNetworkEventManager::processCommentInteraction ( DtCommentInteraction *  ctrlInter)
protectedvirtual
static void DtNetworkEventManager::fireCallback ( DtFireInteraction *  ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processFireCallback ( DtFireInteraction *  )
protectedvirtual
static void DtNetworkEventManager::setGimbalControlCallback ( DtSensorFieldOfViewControlInter ctrlInter,
void *  usr 
)
staticprotected
virtual void DtNetworkEventManager::processGimbalControl ( DtSensorFieldOfViewControlInter ctrlInter)
protectedvirtual
static void DtNetworkEventManager::detonationCallback ( DtDetonationInteraction ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processDetonationCallback ( DtDetonationInteraction )
protectedvirtual
static void DtNetworkEventManager::startResumeInterationCallback ( DtStartResumeInteraction *  d,
void *  u 
)
staticprotected
virtual void DtNetworkEventManager::processStartResumeInteractionCallback ( DtStartResumeInteraction *  d)
protectedvirtual
static void DtNetworkEventManager::stopFreezeInterationCallback ( DtStopFreezeInteraction *  d,
void *  u 
)
staticprotected
virtual void DtNetworkEventManager::processStopFreezeInteractionCallback ( DtStopFreezeInteraction *  d)
protectedvirtual
virtual bool DtNetworkEventManager::isNetworkEvent ( const DtEvent ) const
protectedvirtual

Returns true if this is to be sent on the network.

virtual bool DtNetworkEventManager::sendNetworkEvent ( const DtEvent )
protectedvirtual

Send this message on the network.

Reimplemented in DtEventManagerTCP.

static void DtNetworkEventManager::netMessageCallback ( DtDataInteraction dataInter,
void *  usr 
)
staticprotected
virtual void DtNetworkEventManager::processNetMessage ( DtDataInteraction dataInter)
protectedvirtual
static void DtNetworkEventManager::signalInteractionCallback ( DtSignalInteraction *  dataInter,
void *  usr 
)
staticprotected
virtual void DtNetworkEventManager::processSignalInteraction ( DtSignalInteraction *  dataInter)
protectedvirtual
static void DtNetworkEventManager::serviceRequestCallback ( DtServiceRequestInteraction *  ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processServiceRequestCallback ( DtServiceRequestInteraction *  )
protectedvirtual
static void DtNetworkEventManager::resupplyOfferCallback ( DtResupplyOfferInteraction *  ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processResupplyOfferCallback ( DtResupplyOfferInteraction *  )
protectedvirtual
static void DtNetworkEventManager::resupplyReceivedCallback ( DtResupplyRecInteraction *  ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processResupplyReceivedCallback ( DtResupplyRecInteraction *  )
protectedvirtual
static void DtNetworkEventManager::resupplyCancelCallback ( DtResupplyCancelInteraction *  ,
void *   
)
staticprotected
virtual void DtNetworkEventManager::processResupplyCancelCallback ( DtResupplyCancelInteraction *  )
protectedvirtual
virtual void DtNetworkEventManager::initializeProtocolSpecific ( )
protectedvirtual

Member Data Documentation

boost::signals2::signal<void (const DtEvent&)> DtNetworkEventManager::signal_sendingEventOnNetwork
DtExerciseConn* DtNetworkEventManager::myExerciseConnection
protected
bool DtNetworkEventManager::myCallbacksInstalled
protected
bool DtNetworkEventManager::myDataCallbackInstalled
protected
bool DtNetworkEventManager::myProcessNetworkEventsLocally
protected
bool DtNetworkEventManager::myAllowReliableDataInteractions
protected

Whether reliable data interactions are supported.

std::set<int> DtNetworkEventManager::myContentTypesToSendReliable
protected

Set of content types to be sent via reliable transport.

tbb::spin_rw_mutex DtNetworkEventManager::myFedTimeMutex
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)