MAK RTIspy API Documentation for HLA 1.3
List of all members | Classes | Public Slots | Signals | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtAssistantConnectionInfoMgr Class Reference

Maintains lists of known RTI connections. More...

+ Inheritance diagram for DtAssistantConnectionInfoMgr:
+ Collaboration diagram for DtAssistantConnectionInfoMgr:

Classes

struct  DtAssistantState

Public Slots

void processLocalRtiComponentConnected (const DtAssistantComponentInfo *compInfo)
 Processes a local component successfully using a connection.
void processLocalRtiComponentNotConnected (const DtAssistantComponentInfo *compInfo)
 Processes a local component no longer using a connection.
void processLocalForwarderHasRtiexec (const DtAssistantComponentInfo *compInfo)
 Processes a local forwarder reporting a connection with an rtiexec.
void processLocalForwarderHasNoRtiexec (const DtAssistantComponentInfo *compInfo)
 Processes a local forwarder reporting no connection with an rtiexec.
void processNewChosenConnection (const DtRtiConnectionInfo &conn, const DtRtiConnectionConfigurationInfo &config)
 Processes the setting of a new chosen connection and configuration.
void processClearChosenConnection ()
 Processes the clearing of the chosen connection and configuration.
void setLightweightMemory (unsigned int newVal)
 Processes the lightweight memory value changing.
void setAssistantUpdateInterval (unsigned int newVal)
 Processes the assistant update interval value changing.
void setAcceptRemoteCommands (bool newVal)
 Processes the accept remote commands setting changing.
- Public Slots inherited from DtAssistantMgr
void displayWarningDialogs ()
 Displays all warning dialogs.

Signals

void heartbeat ()
 Emitted when other managers should heartbeat local data to remote assistants.
void prune ()
 Emitted when other managers should prune data from remote assistants.
void connectionsAddedOrUpdated (const DtRtiConnectionAndConfiguration &conns)
 Emitted when a connection is added or updated.
void connectionsAboutToBeRemoved (const DtRtiConnectionAndConfiguration &conns)
 Emitted when a connection is about to be completely removed.
void connectionsRemoved (const DtRtiConnectionAndConfiguration &conns)
 Emitted when a connection is completely removed.
void assistantFound (const DtAssistantInfo &info)
 Emitted when a new assistant is discovered.
void assistantLost (const DtAssistantInfo &info)
 Emitted when a known assistant is lost.
void rtiexecStartupRequested (const DtRtiConnectionInfoDataPair &, const DtRtiConnectionConfigurationInfo &, bool)
 Emitted when a remote request is received to start an rtiexec.
- Signals inherited from DtAssistantMgr
void warningDialogDisplayed ()
 Emitted when a warning dialog is displayed.
void warningDialogDismissed ()
 Emitted when a warning dialog is dismissed.
void popupRequested (const MAKRti::DtString &text, int sourceCompId, const MAKRti::DtString &advancedText)
 Emitted when a popup dialog should be displayed.
void popupRequested (const MAKRti::DtString &text, const MAKRti::DtString &source, const MAKRti::DtString &advancedText)
 Emitted when a popup dialog should be displayed.
void notificationRequested (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, int sourceCompId, bool logOnly)
 Emitted when a notification should be displayed.
void notificationRequested (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, const MAKRti::DtString &source, bool logOnly)
 Emitted when a notification should be displayed.

Public Member Functions

 DtAssistantConnectionInfoMgr (DtBoost::shared_ptr< DtRtiAssistantServer > server, DtBoost::shared_ptr< DtRtiAssistantPeer > peer, DtAssistantSignalRouter &signalRouter, const MAKRti::DtFilename &configDir, const MAKRti::DtString &logFileName)
 Constructor.
virtual ~DtAssistantConnectionInfoMgr ()
 Destructor.
virtual void tick ()
 Performs tasks that need to be completed periodically.
virtual void startShutdown ()
 Performs any necessary processing at the start of shutdown.
virtual bool isCacheFileVersionOld () const
 Returns true if the opened cache file had an older version.
virtual unsigned int lightweightMemoryPeriod () const
 Get memory period, in minutes, for remote lightweight connections.
virtual unsigned int lightweightHeartbeatInterval () const
 Get the interval between lightweight conn heartbeat messages.
virtual unsigned int assistantMemoryPeriod () const
 Get memory period, in seconds, for remote assistant information.
virtual unsigned int assistantHeartbeatInterval () const
 Get the interval between assistant heartbeat messages.
virtual unsigned int requestedAssistantHeartbeatInterval () const
 Get the interval at which this assistant requests remote assistant heartbeat messages.
virtual bool acceptRemoteCommands () const
 Get whether or not this assistant accepts commands.
virtual bool remoteAssistantAcceptsCommands (const DtAssistantInfo &assistant) const
 Get whether or not a remote assistant accepts commands.
virtual bool hostHasARemoteAssistantThatAcceptsCommands (const DtHostNameAddress &host, const MAKRti::DtInetAddr &interfaceAddr) const
 Determine whether there are any remote assistants on the given host machine that will accept commands.
virtual int localRtiexecCompId (const DtRtiConnectionInfo &conn) const
 Gets the component ID of the local rtiexec on the given connection, or returns -1 if it cannot be found.
virtual int localRtiForwarderCompId (const DtRtiConnectionInfo &conn) const
 Gets the component ID of the local rtiFrowarder that matches the conn.
virtual bool getRemoteRtiexecLocation (const DtRtiConnectionInfo &conn, DtAssistantInfo &assistant, int &id) const
 Finds the location (assistant and component ID) of the remote rtiexec for the given connection.
virtual bool getRemoteRtiForwarderLocation (const DtRtiConnectionInfo &conn, DtAssistantInfo &assistant, int &id) const
 Finds the location (assistant and component ID) of the remote RTI Forwarder for the given connection.
virtual bool getRemoteRtiexecConnInfo (const DtAssistantInfo &assistant, int id, DtRtiConnectionInfoDataPair &conn) const
 Finds connection information for the remote rtiexec based on its location (assistant and component ID)
virtual bool getRemoteForwarderConnInfo (const DtAssistantInfo &assistant, int id, DtRtiConnectionInfoDataPair &conn) const
 Finds connection information for the remote forwarder based on its location (assistant and component ID)
virtual bool getChosenConnectionAndConfiguration (DtRtiConnectionInfoDataPair &conn, DtRtiConfigurationInfoDataPair &config)
 Finds the currently chosen connection and configuration.
virtual bool getConnectionInfo (DtRtiConnectionInfoDataPair &conn)
 Finds and retrieves the full connection info and associated data for the connection.
virtual bool getConfigurationForConn (const DtRtiConnectionInfo &conn, DtRtiConfigurationInfoDataPair &config)
 Finds and retrieves the full connection info and associated data for the connection.
virtual MAKRti::DtString connectionName (const DtRtiConnectionInfo &conn)
 Returns the name for the given connection.
virtual bool isStillDefaultChosen () const
 Returns true if a connection file was not found and loaded when the cache was created and the user has not yet set (or unset) a chosen connection.
virtual const
DtRtiConnectionAndConfiguration
connectionsAndConfigurations ()
 Returns the current list of all connections and configurations.
virtual void addUserDefinedConnections (const DtRtiConnectionAndConfiguration &conns)
 Adds new user defined connections.
virtual void removeUserDeletedConnections (const DtRtiConnectionAndConfiguration &conns)
 Removes user deleted connections.
virtual void removeAllLocalRtiexecsForwarders ()
 Remove all local rtiexecs and forwarders.
virtual void removeAllLocalLightweightConns ()
 Remove all local lightweight connections.
virtual bool isConnConflicting (const DtRtiConnectionInfo &conn, MAKRti::DtString &reason) const
 If the given connection conflicts with any currently active connection, returns true, sets the name of the active conflicting connection, and sets a description of the reason for the conflict.
void saveConnections ()
 Saves the connections to file.
- Public Member Functions inherited from DtAssistantMgr
 DtAssistantMgr (DtBoost::shared_ptr< DtRtiAssistantServer > server, DtBoost::shared_ptr< DtRtiAssistantPeer > peer, DtAssistantSignalRouter &signalRouter)
 Constructor.
virtual ~DtAssistantMgr ()
 Destructor.
virtual void initialize ()
 Initializes this manager just prior to beginning assistant processing.
virtual bool dialogsVisible () const
 Determines if there are any visible dialogs for which this manager is responsible.
virtual void configWidget (DtAssistantConfigWidget **widget, QIcon &icon, QString &name, DtPreferencesPage &pageId)
 Retrieves a widget which will be placed in the configuration dialog for configuring user preferences.
virtual void updateConfigWidget ()
 Forces the configuration widget to be updated.
virtual void processConfigWidgetAccept ()
 Process the changes that were accepted in the configuration widget.

Protected Types

typedef std::map
< DtAssistantInfo,
DtAssistantState
DtAssistantStateMap
typedef std::pair
< DtAssistantInfo,
DtAssistantState
DtAssistantStatePair

Protected Member Functions

virtual void processInterfaceFound ()
 Called by the callback function to process discovery of a new network interface.
virtual void heartbeatAssistant ()
 Sends heartbeat messages for majority of assistant information.
virtual void heartbeatLightweightConnections ()
 Sends heartbeat messages for all lightweight connections.
virtual void pruneStaleLightweightConns ()
 Prune remote lightweight connections which have not been heartbeated since the last removal time.
virtual void pruneStaleAssistantsExecsFwrdrs ()
 Prune remote assistants, rtiexecs, and forwarders which have not been heartbeated since the last removal time.
virtual void determineHeartbeatIntervals ()
 From the list of known assistant peers and their respective heartbeat periods, calculate the heartbeat interval (half the shortest interval) for lightweight connection info and other information.
virtual
DtAssistantStateMap::iterator 
findOrAddRemoteAssistant (const DtAssistantInfo &assistant)
 Finds the given state information for the given assistant, or adds the assistant if it is not yet present.
virtual void unverifyRtiexecsForwardersForAssistant (DtAssistantStateMap::iterator astntIter, DtRtiConnectionAndConfiguration &connsToRemove, DtRtiConnectionAndConfiguration &updatedConns)
 Unverify all rtiexecs and forwarders owned by this assistant (assumes iterator is valid).
virtual void unverifyListedRtiexecsForwardersForAssistant (const DtRtiConnectionAndConfiguration &removeList, DtAssistantStateMap::iterator astntIter, DtRtiConnectionAndConfiguration &connsToRemove, DtRtiConnectionAndConfiguration &updatedConns)
 Unverify all of the rtiexecs and forwarders in the given list from the stored list if they are owned by the given assistant (assumes iterator is valid).
virtual void addListedRtiexecsForwardersForAssistant (const DtRtiConnectionAndConfiguration &addList, DtAssistantStateMap::iterator astntIter, DtRtiConnectionAndConfiguration &connsToRemove, DtRtiConnectionAndConfiguration &updatedConns)
 Add all of the rtiexecs and forwarders in the given list to the stored list and assign ownership to the given assistant (assumes iterator is valid).
virtual void checkForConflictingConns (DtRtiConnectionAndConfiguration &updatedConns)
 Checks all connections with unknown or conflicting state to see if they are now conflicting.
virtual void removeConnections (const DtRtiConnectionAndConfiguration &connsToRemove)
 Removes the given connections from the connection list and emits necessary signals.
virtual void setInterfaceForPredefinedConns (const MAKRti::DtInetAddr &interfaceAddr)
 Sets the network interface address to be used for the predefined connections.
- Protected Member Functions inherited from DtAssistantMgr
void startDialog (QDialog *dlg, bool inTaskbar, bool warningDialog)
 Sets up the given widget as a dialog.
void finishDialog (QDialog *dlg)
 Should be called prior to deleting any dialog started with startDialog.
void showDialog (QDialog *dlg)
 Shows the dialog.
void startMainWindow (QMainWindow *dlg)
 Sets up a main window dialog.
void finishMainWindow (QMainWindow *dlg)
 Should be called prior to deleting any dialog started with startMainWindow.
void showMainWindow (QMainWindow *dlg)
 Shows the dialog.
void showPopup (const MAKRti::DtString &text, int sourceCompId=-1, const MAKRti::DtString &advancedText=MAKRti::DtString::nullString())
 Displays a popup message with the given text, advanced text, and name of the given source component.
void showPopup (const MAKRti::DtString &text, const MAKRti::DtString &source, const MAKRti::DtString &advancedText=MAKRti::DtString::nullString())
 Displays a popup message with the given text, advanced text, and source name.
void displayNotification (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, int sourceCompId=-1)
 Displays and logs a notification from the given component.
void displayNotification (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, const MAKRti::DtString &source)
 Displays and logs notification with the given component name.
void logNotification (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, int sourceCompId=-1)
 Logs a notification from the given component, does not display.
void logNotification (const MAKRti::DtString &message, MAKRti::DtNotifyLevelType notifyLevel, const MAKRti::DtString &source)
 Logs a notification with the given component name, does not display.

Static Protected Member Functions

static void processInterfaceFound (void *usr)
 Callback to process the discovery of a new network interface.

Protected Attributes

DtBoost::shared_ptr
< DtConnectionCache
myConnectionCache
 The cached rtiexec and lightweight connections.
bool myAcceptRemoteCmds
 Whether or not remote commands are accepted.
DtClock myClock
 Clock for timeouts and periodic update messages.
DtTime myNextAssistantHeartbeatTime
 Time at which we will next send information on our own assistant and local rtiexecs, forwarders, and licenses.
DtTime myNextLightweightHeartbeatTime
 Time at which we will next send information on our own local lightweight connections.
DtTime myNextAssistantInfoRemovalTime
 Time at which we will next remove any un-heartbeated remote assistants, rtiexecs, and forwarders.
DtTime myNextLightweightRemovalTime
 Time at which we will next remove any un-heartbeated remote lightweight connections.
unsigned int myAssistantHeartbeatInterval
 Interval, in secs, at which we will send assistant info heartbeat msgs.
unsigned int myLightweightHeartbeatInterval
 Interval, in secs, at which we will send lightweight conn heartbeat msgs.
unsigned int myAssistantInfoRemovalPeriod
 Interval at which we will check for remote assistants, rtiexecs, and forwarders have not been heartbeated.
unsigned int myLightweightRemovalPeriod
 Interval at which we will check for remote lightweight connections that have not been heartbeated.
MAKRti::DtString myHostName
 Name of this host.
DtRtiConnectionAndConfiguration myRemovedLocalExecsAndFwrdrs
 Sets of removed local rtiexecs and forwarders.
DtAssistantStateMap myRemoteAssistantStates
 All known remote assistants and their current rtiexecs and forwarders.
DtRtiConnectionAndConfiguration myConnsAndConfigs
 All of the connections and configurations.
bool myStillDefaultChosen
 Indicates that the default chosen connection state is still in use (no connection file existed and user has not chosen or unchosen a connection to be used without prompting).
bool myPredefinedConnsNeedInterface
 If there was no network interface when the assistant started, the predefined connections will be invalid.
MAKRti::DtInetAddr myPotentialPredefinedConnsInterface
 A network interface to potentially use for the predefined connections, if it stays active long enough.
DtTime mySetPredefinedConnsInterfaceTime
 Time at which predefined connections should be set with the myPotentialPredefinedConnsInterface.
MAKRti::DtString myLogFileName
 The name of the log file.
- Protected Attributes inherited from DtAssistantMgr
DtBoost::shared_ptr
< DtRtiAssistantServer
myServer
 The Assistant server from which new messages will arrive from local RTI components.
DtBoost::shared_ptr
< DtRtiAssistantPeer
myPeer
 The Assistant peer which communicates with other Assistants.
std::set< QDialog * > myUnparentedDialogs
 All unparented dialogs that are created by the GUI should be added to this set.
std::set< QMainWindow * > myMainWindows
 All main windows that are created by the GUI should be added to this set.
std::set< QDialog * > myWarningDialogs
 Set of the popup dialogs, either parented or unparented, which, when active, should cause a warning icon to be displayed.

Private Member Functions

 DtAssistantConnectionInfoMgr (DtAssistantConnectionInfoMgr const &)
 Copy Constructor not implemented – Copy Not Allowed!
DtAssistantConnectionInfoMgroperator= (DtAssistantConnectionInfoMgr const &)
 Assignment not implemented – Assignment Not Allowed!

Message Callbacks

Callbacks for remote assistant info messages

static void processQueryMsg (const DtAssistantQueryMsg &queryMsg, void *usr)
 Query message callback.
static void processInfoMsg (const DtAssistantInfoMsg &infoMsg, void *usr)
 Assistant information message callback.
static void processLightweightInfoMsg (const DtAssistantLightweightInfoMsg &infoMsg, void *usr)
 Assistant lightweight information message callback.
static void processRemovalMsg (const DtAssistantRemovalMsg &remMsg, void *usr)
 Assistant removal message callback.
static void processStartRtiexecMsg (const DtAssistantStartRtiexecMsg &msg, void *usr)
 Start rtiexec message callback.
virtual void processQueryMsg (const DtAssistantQueryMsg &queryMsg)
 Query message callback.
virtual void processInfoMsg (const DtAssistantInfoMsg &infoMsg)
 Query message callback.
virtual void processLightweightInfoMsg (const DtAssistantLightweightInfoMsg &infoMsg)
 Query message callback.
virtual void processRemovalMsg (const DtAssistantRemovalMsg &remMsg)
 Query message callback.
virtual void processStartRtiexecMsg (const DtAssistantStartRtiexecMsg &msg)
 Query message callback.

Additional Inherited Members

- Static Protected Attributes inherited from DtAssistantMgr
static QIcon theRtiIcon
 The icons used by the RTI Assistant.
static QIcon theSmallRtiIcon
static QIcon theWebIcon
static QIcon theNotifyRtiIcon
static QIcon theWarningRtiIcon
static QIcon thePreferencesIcon
static QIcon theAboutIcon
static QIcon theHelpIcon
static bool theIconsAreLoaded = false
 Whether or not the icons have yet been loaded.

Detailed Description

Maintains lists of known RTI connections.

This includes all lightweight and rtiexec, remote and local, active and inactive connections.

Member Typedef Documentation

Constructor & Destructor Documentation

DtAssistantConnectionInfoMgr::DtAssistantConnectionInfoMgr ( DtBoost::shared_ptr< DtRtiAssistantServer server,
DtBoost::shared_ptr< DtRtiAssistantPeer peer,
DtAssistantSignalRouter signalRouter,
const MAKRti::DtFilename &  configDir,
const MAKRti::DtString &  logFileName 
)

Constructor.

References DtAssistantRemovalMsg::addCallback(), DtAssistantQueryMsg::addCallback(), DtAssistantLightweightInfoMsg::addCallback(), DtAssistantInfoMsg::addCallback(), DtAssistantStartRtiexecMsg::addCallback(), assistantFound(), assistantLost(), connectionsAboutToBeRemoved(), connectionsAddedOrUpdated(), connectionsRemoved(), DtRtiConnectionInfo::defaultNetworkInterfaceAddr(), DtAcceptRemoteCommandsUpdatedSig, DtAssistantUpdateIntervalSecUpdatedSig, DtForwarderComponentConnectedSig, DtForwarderComponentDisconnectedSig, DtForwarderHasNoRtiexecSig, DtForwarderHasRtiexecSig, DtLightweightMemorySecUpdatedSig, DtLrcComponentConnectedSig, DtLrcComponentDisconnectedSig, DtRemoteAssistantFoundSig, DtRemoteAssistantLostSig, DtRtiConnHeartbeatSig, DtRtiConnPruneSig, DtRtiConnsAboutToBeRemovedSig, DtRtiConnsAddedOrUpdatedSig, DtRtiConnsRemovedSig, DtRtiexecComponentConnectedSig, DtRtiexecComponentDisconnectedSig, DtRtiexecStartupRequestedSig, heartbeat(), myAssistantInfoRemovalPeriod, myClock, myConnectionCache, myConnsAndConfigs, myLightweightRemovalPeriod, myNextAssistantHeartbeatTime, myNextAssistantInfoRemovalTime, myNextLightweightHeartbeatTime, myNextLightweightRemovalTime, DtAssistantMgr::myPeer, myPredefinedConnsNeedInterface, myStillDefaultChosen, processInfoMsg(), processInterfaceFound(), processLightweightInfoMsg(), processLocalForwarderHasNoRtiexec(), processLocalForwarderHasRtiexec(), processLocalRtiComponentConnected(), processLocalRtiComponentNotConnected(), processQueryMsg(), processRemovalMsg(), processStartRtiexecMsg(), prune(), DtAssistantSignalRouter::registerSignal(), DtAssistantSignalRouter::registerSlot(), rtiexecStartupRequested(), setAcceptRemoteCommands(), setAssistantUpdateInterval(), and setLightweightMemory().

DtAssistantConnectionInfoMgr::~DtAssistantConnectionInfoMgr ( )
virtual
DtAssistantConnectionInfoMgr::DtAssistantConnectionInfoMgr ( DtAssistantConnectionInfoMgr const &  )
private

Copy Constructor not implemented – Copy Not Allowed!

Member Function Documentation

bool DtAssistantConnectionInfoMgr::acceptRemoteCommands ( ) const
virtual

Get whether or not this assistant accepts commands.

References myAcceptRemoteCmds.

void DtAssistantConnectionInfoMgr::addListedRtiexecsForwardersForAssistant ( const DtRtiConnectionAndConfiguration addList,
DtAssistantStateMap::iterator  astntIter,
DtRtiConnectionAndConfiguration connsToRemove,
DtRtiConnectionAndConfiguration updatedConns 
)
protectedvirtual
void DtAssistantConnectionInfoMgr::addUserDefinedConnections ( const DtRtiConnectionAndConfiguration conns)
virtual
void DtAssistantConnectionInfoMgr::assistantFound ( const DtAssistantInfo info)
signal

Emitted when a new assistant is discovered.

Referenced by DtAssistantConnectionInfoMgr(), and findOrAddRemoteAssistant().

unsigned int DtAssistantConnectionInfoMgr::assistantHeartbeatInterval ( ) const
virtual

Get the interval between assistant heartbeat messages.

This interval is based on the desired update rates of the remote assistants.

References myAssistantHeartbeatInterval.

void DtAssistantConnectionInfoMgr::assistantLost ( const DtAssistantInfo info)
signal

Emitted when a known assistant is lost.

Referenced by DtAssistantConnectionInfoMgr(), processRemovalMsg(), and pruneStaleAssistantsExecsFwrdrs().

unsigned int DtAssistantConnectionInfoMgr::assistantMemoryPeriod ( ) const
virtual

Get memory period, in seconds, for remote assistant information.

References myAssistantInfoRemovalPeriod.

void DtAssistantConnectionInfoMgr::checkForConflictingConns ( DtRtiConnectionAndConfiguration updatedConns)
protectedvirtual
MAKRti::DtString DtAssistantConnectionInfoMgr::connectionName ( const DtRtiConnectionInfo conn)
virtual
void DtAssistantConnectionInfoMgr::connectionsAboutToBeRemoved ( const DtRtiConnectionAndConfiguration conns)
signal

Emitted when a connection is about to be completely removed.

Referenced by DtAssistantConnectionInfoMgr(), and removeConnections().

void DtAssistantConnectionInfoMgr::connectionsAddedOrUpdated ( const DtRtiConnectionAndConfiguration conns)
signal
const DtRtiConnectionAndConfiguration & DtAssistantConnectionInfoMgr::connectionsAndConfigurations ( )
virtual

Returns the current list of all connections and configurations.

References myConnsAndConfigs.

void DtAssistantConnectionInfoMgr::connectionsRemoved ( const DtRtiConnectionAndConfiguration conns)
signal

Emitted when a connection is completely removed.

Referenced by DtAssistantConnectionInfoMgr(), and removeConnections().

void DtAssistantConnectionInfoMgr::determineHeartbeatIntervals ( )
protectedvirtual

From the list of known assistant peers and their respective heartbeat periods, calculate the heartbeat interval (half the shortest interval) for lightweight connection info and other information.

References myAssistantHeartbeatInterval, myClock, myLightweightHeartbeatInterval, myNextAssistantHeartbeatTime, myNextLightweightHeartbeatTime, and myRemoteAssistantStates.

Referenced by processInfoMsg(), processLightweightInfoMsg(), processRemovalMsg(), and pruneStaleAssistantsExecsFwrdrs().

DtAssistantConnectionInfoMgr::DtAssistantStateMap::iterator DtAssistantConnectionInfoMgr::findOrAddRemoteAssistant ( const DtAssistantInfo assistant)
protectedvirtual

Finds the given state information for the given assistant, or adds the assistant if it is not yet present.

References assistantFound(), and myRemoteAssistantStates.

Referenced by processInfoMsg(), and processLightweightInfoMsg().

bool DtAssistantConnectionInfoMgr::getChosenConnectionAndConfiguration ( DtRtiConnectionInfoDataPair conn,
DtRtiConfigurationInfoDataPair config 
)
virtual

Finds the currently chosen connection and configuration.

Returns false there is no chosen connection.

References DtRtiConnectionAndConfiguration::getChosenConnAndConfig(), and myConnsAndConfigs.

bool DtAssistantConnectionInfoMgr::getConfigurationForConn ( const DtRtiConnectionInfo conn,
DtRtiConfigurationInfoDataPair config 
)
virtual

Finds and retrieves the full connection info and associated data for the connection.

Returns false if the connection could not be found or if it had no associated configuration.

References DtRtiConnectionAndConfiguration::findConfigMapping(), and myConnsAndConfigs.

bool DtAssistantConnectionInfoMgr::getConnectionInfo ( DtRtiConnectionInfoDataPair conn)
virtual

Finds and retrieves the full connection info and associated data for the connection.

Returns false if the connection could not be found.

References DtRtiConnectionAndConfiguration::findConnection(), and myConnsAndConfigs.

bool DtAssistantConnectionInfoMgr::getRemoteForwarderConnInfo ( const DtAssistantInfo assistant,
int  id,
DtRtiConnectionInfoDataPair conn 
) const
virtual

Finds connection information for the remote forwarder based on its location (assistant and component ID)

References DtRtiConnectionAndConfiguration::findConnection(), myConnsAndConfigs, and myRemoteAssistantStates.

bool DtAssistantConnectionInfoMgr::getRemoteRtiexecConnInfo ( const DtAssistantInfo assistant,
int  id,
DtRtiConnectionInfoDataPair conn 
) const
virtual

Finds connection information for the remote rtiexec based on its location (assistant and component ID)

References DtRtiConnectionAndConfiguration::findConnection(), myConnsAndConfigs, and myRemoteAssistantStates.

bool DtAssistantConnectionInfoMgr::getRemoteRtiexecLocation ( const DtRtiConnectionInfo conn,
DtAssistantInfo assistant,
int &  id 
) const
virtual

Finds the location (assistant and component ID) of the remote rtiexec for the given connection.

References DtRtiConnectionAndConfiguration::findConnection(), and myConnsAndConfigs.

bool DtAssistantConnectionInfoMgr::getRemoteRtiForwarderLocation ( const DtRtiConnectionInfo conn,
DtAssistantInfo assistant,
int &  id 
) const
virtual

Finds the location (assistant and component ID) of the remote RTI Forwarder for the given connection.

References DtRtiConnectionAndConfiguration::findConnection(), and myConnsAndConfigs.

void DtAssistantConnectionInfoMgr::heartbeat ( )
signal

Emitted when other managers should heartbeat local data to remote assistants.

Referenced by DtAssistantConnectionInfoMgr(), and heartbeatAssistant().

void DtAssistantConnectionInfoMgr::heartbeatAssistant ( )
protectedvirtual
void DtAssistantConnectionInfoMgr::heartbeatLightweightConnections ( )
protectedvirtual

Sends heartbeat messages for all lightweight connections.

References myConnsAndConfigs, myLightweightRemovalPeriod, and DtAssistantMgr::myPeer.

Referenced by processQueryMsg(), and tick().

bool DtAssistantConnectionInfoMgr::hostHasARemoteAssistantThatAcceptsCommands ( const DtHostNameAddress host,
const MAKRti::DtInetAddr &  interfaceAddr 
) const
virtual

Determine whether there are any remote assistants on the given host machine that will accept commands.

References myRemoteAssistantStates.

bool DtAssistantConnectionInfoMgr::isCacheFileVersionOld ( ) const
virtual

Returns true if the opened cache file had an older version.

References myConnectionCache.

bool DtAssistantConnectionInfoMgr::isConnConflicting ( const DtRtiConnectionInfo conn,
MAKRti::DtString &  reason 
) const
virtual

If the given connection conflicts with any currently active connection, returns true, sets the name of the active conflicting connection, and sets a description of the reason for the conflict.

References myConnsAndConfigs, and DtRtiConnectionAndConfiguration::willConflict().

bool DtAssistantConnectionInfoMgr::isStillDefaultChosen ( ) const
virtual

Returns true if a connection file was not found and loaded when the cache was created and the user has not yet set (or unset) a chosen connection.

References myStillDefaultChosen.

unsigned int DtAssistantConnectionInfoMgr::lightweightHeartbeatInterval ( ) const
virtual

Get the interval between lightweight conn heartbeat messages.

References myLightweightHeartbeatInterval.

unsigned int DtAssistantConnectionInfoMgr::lightweightMemoryPeriod ( ) const
virtual

Get memory period, in minutes, for remote lightweight connections.

References myLightweightRemovalPeriod.

int DtAssistantConnectionInfoMgr::localRtiexecCompId ( const DtRtiConnectionInfo conn) const
virtual

Gets the component ID of the local rtiexec on the given connection, or returns -1 if it cannot be found.

References DtRtiConnectionAndConfiguration::findConnection(), and myConnsAndConfigs.

int DtAssistantConnectionInfoMgr::localRtiForwarderCompId ( const DtRtiConnectionInfo conn) const
virtual

Gets the component ID of the local rtiFrowarder that matches the conn.

References DtRtiConnectionAndConfiguration::findConnection(), and myConnsAndConfigs.

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

Assignment not implemented – Assignment Not Allowed!

void DtAssistantConnectionInfoMgr::processClearChosenConnection ( )
slot
void DtAssistantConnectionInfoMgr::processInfoMsg ( const DtAssistantInfoMsg infoMsg,
void *  usr 
)
staticprotected

Assistant information message callback.

Referenced by DtAssistantConnectionInfoMgr(), and ~DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processInfoMsg ( const DtAssistantInfoMsg infoMsg)
protectedvirtual
void DtAssistantConnectionInfoMgr::processInterfaceFound ( void *  usr)
staticprotected

Callback to process the discovery of a new network interface.

References processInterfaceFound().

void DtAssistantConnectionInfoMgr::processInterfaceFound ( )
protectedvirtual
void DtAssistantConnectionInfoMgr::processLightweightInfoMsg ( const DtAssistantLightweightInfoMsg infoMsg,
void *  usr 
)
staticprotected

Assistant lightweight information message callback.

Referenced by DtAssistantConnectionInfoMgr(), and ~DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processLightweightInfoMsg ( const DtAssistantLightweightInfoMsg infoMsg)
protectedvirtual
void DtAssistantConnectionInfoMgr::processLocalForwarderHasNoRtiexec ( const DtAssistantComponentInfo compInfo)
slot
void DtAssistantConnectionInfoMgr::processLocalForwarderHasRtiexec ( const DtAssistantComponentInfo compInfo)
slot
void DtAssistantConnectionInfoMgr::processLocalRtiComponentConnected ( const DtAssistantComponentInfo compInfo)
slot

Processes a local component successfully using a connection.

References DtRtiConnectionAndConfiguration::addConfiguration(), DtRtiConnectionAndConfiguration::addConnection(), DtRtiAssociatedConnectionData::addLocalFederate(), checkForConflictingConns(), DtAssistantComponentInfo::compId(), DtAssistantComponentInfo::compType(), DtAssistantComponentInfo::configUsed(), connectionsAddedOrUpdated(), DtRtiAssociatedConnectionData::connectionState(), DtAssistantComponentInfo::connUsed(), DtAssistantForwarderComponent, DtAssistantLrcComponent, DtAssistantRtiexecComponent, DtRtiAssociatedConnectionData::DtConnectionForwarderVerified, DtRtiAssociatedConnectionData::DtConnectionVerified, DtGetLocalHostName(), DtRtiAssociatedConnectionData::DtUnknownState, DtRtiConnectionAndConfiguration::findConfiguration(), DtRtiConnectionAndConfiguration::findConnection(), DtRtiAssociatedConnectionData::forwarderCompId(), DtRtiAssociatedConnectionData::forwardersAssistant(), DtAssistantInfo::isThisAssistant(), DtRtiAssociatedConnectionData::localFederates(), myClock, myConnsAndConfigs, DtRtiAssociatedConfigurationData::myIsSaved, myNextAssistantHeartbeatTime, myNextLightweightHeartbeatTime, DtAssistantMgr::myPeer, DtRtiAssociatedConnectionData::numLocalFederates(), DtRtiAssociatedConnectionData::rtiexecCompId(), DtRtiAssociatedConnectionData::rtiexecsAssistant(), saveConnections(), DtRtiConnectionAndConfiguration::setConnectionConfigMapping(), DtRtiAssociatedConnectionData::setConnectionState(), DtRtiAssociatedConnectionData::setForwarderCompId(), DtRtiAssociatedConnectionData::setForwardersAssistant(), DtRtiAssociatedConnectionData::setIsSaved(), DtRtiAssociatedConnectionData::setOwnerHost(), DtRtiAssociatedConnectionData::setRtiexecCompId(), DtRtiAssociatedConnectionData::setRtiexecsAssistant(), DtRtiConnectionAndConfiguration::updateConfiguration(), and DtRtiConnectionAndConfiguration::updateConnection().

Referenced by DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processLocalRtiComponentNotConnected ( const DtAssistantComponentInfo compInfo)
slot
void DtAssistantConnectionInfoMgr::processNewChosenConnection ( const DtRtiConnectionInfo conn,
const DtRtiConnectionConfigurationInfo config 
)
slot
void DtAssistantConnectionInfoMgr::processQueryMsg ( const DtAssistantQueryMsg queryMsg,
void *  usr 
)
staticprotected

Query message callback.

Referenced by DtAssistantConnectionInfoMgr(), and ~DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processQueryMsg ( const DtAssistantQueryMsg queryMsg)
protectedvirtual

Query message callback.

References heartbeatAssistant(), and heartbeatLightweightConnections().

void DtAssistantConnectionInfoMgr::processRemovalMsg ( const DtAssistantRemovalMsg remMsg,
void *  usr 
)
staticprotected

Assistant removal message callback.

Referenced by DtAssistantConnectionInfoMgr(), and ~DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processRemovalMsg ( const DtAssistantRemovalMsg remMsg)
protectedvirtual
void DtAssistantConnectionInfoMgr::processStartRtiexecMsg ( const DtAssistantStartRtiexecMsg msg,
void *  usr 
)
staticprotected

Start rtiexec message callback.

Referenced by DtAssistantConnectionInfoMgr(), and ~DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::processStartRtiexecMsg ( const DtAssistantStartRtiexecMsg msg)
protectedvirtual
void DtAssistantConnectionInfoMgr::prune ( )
signal

Emitted when other managers should prune data from remote assistants.

Referenced by DtAssistantConnectionInfoMgr(), and tick().

void DtAssistantConnectionInfoMgr::pruneStaleAssistantsExecsFwrdrs ( )
protectedvirtual
void DtAssistantConnectionInfoMgr::pruneStaleLightweightConns ( )
protectedvirtual
bool DtAssistantConnectionInfoMgr::remoteAssistantAcceptsCommands ( const DtAssistantInfo assistant) const
virtual

Get whether or not a remote assistant accepts commands.

References myRemoteAssistantStates.

void DtAssistantConnectionInfoMgr::removeAllLocalLightweightConns ( )
virtual
void DtAssistantConnectionInfoMgr::removeAllLocalRtiexecsForwarders ( )
virtual
void DtAssistantConnectionInfoMgr::removeConnections ( const DtRtiConnectionAndConfiguration connsToRemove)
protectedvirtual
void DtAssistantConnectionInfoMgr::removeUserDeletedConnections ( const DtRtiConnectionAndConfiguration conns)
virtual
unsigned int DtAssistantConnectionInfoMgr::requestedAssistantHeartbeatInterval ( ) const
virtual

Get the interval at which this assistant requests remote assistant heartbeat messages.

References myAssistantInfoRemovalPeriod.

void DtAssistantConnectionInfoMgr::rtiexecStartupRequested ( const DtRtiConnectionInfoDataPair ,
const DtRtiConnectionConfigurationInfo ,
bool   
)
signal

Emitted when a remote request is received to start an rtiexec.

Referenced by DtAssistantConnectionInfoMgr(), and processStartRtiexecMsg().

void DtAssistantConnectionInfoMgr::saveConnections ( )
void DtAssistantConnectionInfoMgr::setAcceptRemoteCommands ( bool  newVal)
slot

Processes the accept remote commands setting changing.

References myAcceptRemoteCmds.

Referenced by DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::setAssistantUpdateInterval ( unsigned int  newVal)
slot

Processes the assistant update interval value changing.

References myAssistantInfoRemovalPeriod, and saveConnections().

Referenced by DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::setInterfaceForPredefinedConns ( const MAKRti::DtInetAddr &  interfaceAddr)
protectedvirtual
void DtAssistantConnectionInfoMgr::setLightweightMemory ( unsigned int  newVal)
slot

Processes the lightweight memory value changing.

References myLightweightRemovalPeriod.

Referenced by DtAssistantConnectionInfoMgr().

void DtAssistantConnectionInfoMgr::startShutdown ( )
virtual

Performs any necessary processing at the start of shutdown.

Reimplemented from DtAssistantMgr.

References saveConnections().

void DtAssistantConnectionInfoMgr::tick ( )
virtual
void DtAssistantConnectionInfoMgr::unverifyListedRtiexecsForwardersForAssistant ( const DtRtiConnectionAndConfiguration removeList,
DtAssistantStateMap::iterator  astntIter,
DtRtiConnectionAndConfiguration connsToRemove,
DtRtiConnectionAndConfiguration updatedConns 
)
protectedvirtual
void DtAssistantConnectionInfoMgr::unverifyRtiexecsForwardersForAssistant ( DtAssistantStateMap::iterator  astntIter,
DtRtiConnectionAndConfiguration connsToRemove,
DtRtiConnectionAndConfiguration updatedConns 
)
protectedvirtual

Member Data Documentation

bool DtAssistantConnectionInfoMgr::myAcceptRemoteCmds
protected

Whether or not remote commands are accepted.

Referenced by acceptRemoteCommands(), heartbeatAssistant(), processStartRtiexecMsg(), and setAcceptRemoteCommands().

unsigned int DtAssistantConnectionInfoMgr::myAssistantHeartbeatInterval
protected

Interval, in secs, at which we will send assistant info heartbeat msgs.

Referenced by assistantHeartbeatInterval(), determineHeartbeatIntervals(), and tick().

unsigned int DtAssistantConnectionInfoMgr::myAssistantInfoRemovalPeriod
protected

Interval at which we will check for remote assistants, rtiexecs, and forwarders have not been heartbeated.

Referenced by assistantMemoryPeriod(), DtAssistantConnectionInfoMgr(), heartbeatAssistant(), requestedAssistantHeartbeatInterval(), setAssistantUpdateInterval(), and tick().

DtClock DtAssistantConnectionInfoMgr::myClock
protected
DtBoost::shared_ptr<DtConnectionCache> DtAssistantConnectionInfoMgr::myConnectionCache
protected

The cached rtiexec and lightweight connections.

Referenced by DtAssistantConnectionInfoMgr(), isCacheFileVersionOld(), and saveConnections().

DtRtiConnectionAndConfiguration DtAssistantConnectionInfoMgr::myConnsAndConfigs
protected
MAKRti::DtString DtAssistantConnectionInfoMgr::myHostName
protected

Name of this host.

unsigned int DtAssistantConnectionInfoMgr::myLightweightHeartbeatInterval
protected

Interval, in secs, at which we will send lightweight conn heartbeat msgs.

Referenced by determineHeartbeatIntervals(), lightweightHeartbeatInterval(), and tick().

unsigned int DtAssistantConnectionInfoMgr::myLightweightRemovalPeriod
protected

Interval at which we will check for remote lightweight connections that have not been heartbeated.

Referenced by DtAssistantConnectionInfoMgr(), heartbeatLightweightConnections(), lightweightMemoryPeriod(), setLightweightMemory(), and tick().

MAKRti::DtString DtAssistantConnectionInfoMgr::myLogFileName
protected

The name of the log file.

Referenced by saveConnections().

DtTime DtAssistantConnectionInfoMgr::myNextAssistantHeartbeatTime
protected

Time at which we will next send information on our own assistant and local rtiexecs, forwarders, and licenses.

Referenced by determineHeartbeatIntervals(), DtAssistantConnectionInfoMgr(), processLocalRtiComponentConnected(), processLocalRtiComponentNotConnected(), and tick().

DtTime DtAssistantConnectionInfoMgr::myNextAssistantInfoRemovalTime
protected

Time at which we will next remove any un-heartbeated remote assistants, rtiexecs, and forwarders.

Referenced by DtAssistantConnectionInfoMgr(), and tick().

DtTime DtAssistantConnectionInfoMgr::myNextLightweightHeartbeatTime
protected

Time at which we will next send information on our own local lightweight connections.

Referenced by determineHeartbeatIntervals(), DtAssistantConnectionInfoMgr(), processLocalRtiComponentConnected(), processLocalRtiComponentNotConnected(), and tick().

DtTime DtAssistantConnectionInfoMgr::myNextLightweightRemovalTime
protected

Time at which we will next remove any un-heartbeated remote lightweight connections.

Referenced by DtAssistantConnectionInfoMgr(), and tick().

MAKRti::DtInetAddr DtAssistantConnectionInfoMgr::myPotentialPredefinedConnsInterface
protected

A network interface to potentially use for the predefined connections, if it stays active long enough.

Referenced by processInterfaceFound(), and tick().

bool DtAssistantConnectionInfoMgr::myPredefinedConnsNeedInterface
protected

If there was no network interface when the assistant started, the predefined connections will be invalid.

Referenced by DtAssistantConnectionInfoMgr(), processInterfaceFound(), setInterfaceForPredefinedConns(), and tick().

DtAssistantStateMap DtAssistantConnectionInfoMgr::myRemoteAssistantStates
protected
DtRtiConnectionAndConfiguration DtAssistantConnectionInfoMgr::myRemovedLocalExecsAndFwrdrs
protected

Sets of removed local rtiexecs and forwarders.

Referenced by heartbeatAssistant(), processLocalRtiComponentNotConnected(), and removeAllLocalRtiexecsForwarders().

DtTime DtAssistantConnectionInfoMgr::mySetPredefinedConnsInterfaceTime
protected

Time at which predefined connections should be set with the myPotentialPredefinedConnsInterface.

Referenced by processInterfaceFound(), and tick().

bool DtAssistantConnectionInfoMgr::myStillDefaultChosen
protected

Indicates that the default chosen connection state is still in use (no connection file existed and user has not chosen or unchosen a connection to be used without prompting).

Referenced by DtAssistantConnectionInfoMgr(), isStillDefaultChosen(), processClearChosenConnection(), and processNewChosenConnection().


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

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)