![]() |
MAK RTIspy API Documentation for HLA 1516
|
Collaboration diagram for DtRtiExecConnectionState:Public Types | |
| enum | rtiExecConnectionStateDefns { DtNotConnected, DtConnectedAndRunning, DtWaitingForReconnect, DtReconnectFailed } |
| this enumerates the state of the RTI, classified in the possible states More... | |
Public Member Functions | |
| DtRtiExecConnectionState (bool reconnectEnabled, MAKRti::DtTime rtiExecReconnectTimeout) | |
| ~DtRtiExecConnectionState () | |
| unsigned int | rtiExecConnID () const |
| retrieve the connection ID of the rtiExec. | |
| const DtTcpMsgSocket * | rtiExecSock () const |
| retrieve the stored socket of the connected rtiExec. | |
| bool | rtiExecAvailable () const |
| retrieve whether the exec is available. | |
| bool | rtiExecIsLocalConnection () const |
| is the rtiexec connected directly to this forwarder or is it connected to a remote forwarder? | |
| bool | noConnectionAvailable () const |
| is our state == DtNotConnected. | |
| bool | isWaitingForReconnect () const |
| retrieve whether the exec has been disconnected and we're waiting for reconnect.d | |
| bool | reconnectEnabled () const |
| variable that concerns us: whether the RtiExec Reconnect ability is enabled. | |
| bool | hasTimeElapsed () const |
| This will always return false unless the rtiExec has disconnected. | |
| void | resetRtiExecConnID () |
| Reset state to not connected. | |
| MAKRti::DtString | hostName () const |
| Return the stored hostname for this exec conn. | |
| bool | rtiExecTimedOutReconnect () |
| bool | rtiExecDisconnected () |
| bool | rtiExecDisconnectMsgReceived () |
| bool | rtiExecConnected (unsigned int newConnectionID, const DtTcpMsgSocket *execSock, const MAKRti::DtString &hostName) |
| bool | rtiExecReconnected (unsigned int newConnectionID, const DtTcpMsgSocket *execSock, const MAKRti::DtString &hostName) |
| bool | testRtiExecConnectionStatus () |
| Periodically ping the rtiexec connection to ensure that it is alive Returns false if there is an rtiexec connection error. | |
Protected Attributes | |
| bool | myRtiExecAvailable |
| In the case of an RtiExec reconnect, the DtRtiExecTrackingFilter will change the. | |
| bool | myRtiExecIsLocallyConnected |
| unsigned int | myRtiExecConnID |
| const DtTcpMsgSocket * | myExecSock |
| rtiExecConnectionStateDefns | myRtiExecState |
| bool | myReconnectEnabled |
| MAKRti::DtTime | myRtiExecReconnectTimeout |
| MAKRti::DtClock | myTimer |
| MAKRti::DtClock | myPingTimer |
| MAKRti::DtString | myExecHostname |
Private Member Functions | |
| DtRtiExecConnectionState (const DtRtiExecConnectionState &orig) | |
| Copy and assignment unimplemented - there should never be any copies. | |
| DtRtiExecConnectionState & | operator= (const DtRtiExecConnectionState &orig) |
this enumerates the state of the RTI, classified in the possible states
as this class is concerned DtNotConnected: either never connected, or disconnected and didn't reconnect in the timeout period. No reconnect is possible from this state. connect message will transition us to state DtConnectedAndRunning.
DtConnectedAndRunning: Everything's up and running, No reconnect is possible from this state. upon disconnect state transitions to DtWaitingForReconnect
DtWaitingForReconnect: rtiExec has a broken socket, if rtiExec reconnect is received prior to timeout it will transition to connectedAndRunning else it will inform all federates and transition to notConnected.
| DtRtiExecConnectionState::DtRtiExecConnectionState | ( | const DtRtiExecConnectionState & | orig | ) | [private] |
Copy and assignment unimplemented - there should never be any copies.
| DtRtiExecConnectionState::DtRtiExecConnectionState | ( | bool | reconnectEnabled, |
| MAKRti::DtTime | rtiExecReconnectTimeout | ||
| ) |
| bool DtRtiExecConnectionState::hasTimeElapsed | ( | ) | const |
This will always return false unless the rtiExec has disconnected.
After the RtiDisconnects, this function returns whether the rtiExec disconnect happened more than RTI_rtiExecReconnectTimout seconds ago.
References myRtiExecReconnectTimeout, and myTimer.
Referenced by DtRtiExecTrackingFilter::processTimeout().
| MAKRti::DtString DtRtiExecConnectionState::hostName | ( | ) | const |
Return the stored hostname for this exec conn.
References myExecHostname.
Referenced by DtRtiExecTrackingFilter::processDisconnectMsg(), DtRtiExecTrackingFilter::processReconnectMsg(), rtiExecConnected(), and rtiExecReconnected().
retrieve whether the exec has been disconnected and we're waiting for reconnect.d
References DtWaitingForReconnect, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processReconnectMsg(), and DtRtiExecTrackingFilter::processTimeout().
is our state == DtNotConnected.
Useful in discarding incoming rtiExecDisconnect Messages from timed out stale exec connections.
References DtNotConnected, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processReconnectMsg(), and DtRtiExecTrackingFilter::processRtiExecDisconnectMsg().
| DtRtiExecConnectionState& DtRtiExecConnectionState::operator= | ( | const DtRtiExecConnectionState & | orig | ) | [private] |
variable that concerns us: whether the RtiExec Reconnect ability is enabled.
References myReconnectEnabled.
Referenced by DtRtiExecTrackingFilter::processDisconnectMsg(), and DtRtiExecTrackingFilter::processReconnectMsg().
Reset state to not connected.
Should combine this function with available's analog, into a super state resetting multifunction!
References DtNotConnected, myExecHostname, myExecSock, myRtiExecConnID, myRtiExecIsLocallyConnected, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processDisconnectMsg(), and rtiExecDisconnectMsgReceived().
retrieve whether the exec is available.
References DtConnectedAndRunning, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processHandshakeMsg(), DtRtiExecTrackingFilter::processRtiExecConnectMsg(), DtRtiExecTrackingFilter::processTimeout(), and DtRtiExecTrackingFilter::rtiExecAvailable().
| bool DtRtiExecConnectionState::rtiExecConnected | ( | unsigned int | newConnectionID, |
| const DtTcpMsgSocket * | execSock, | ||
| const MAKRti::DtString & | hostName | ||
| ) |
References DtConnectedAndRunning, hostName(), myExecHostname, myExecSock, myPingTimer, myRtiExecConnID, myRtiExecIsLocallyConnected, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processRtiExecConnectMsg().
| unsigned int DtRtiExecConnectionState::rtiExecConnID | ( | ) | const |
retrieve the connection ID of the rtiExec.
References myRtiExecConnID.
Referenced by DtRtiExecTrackingFilter::doFilter(), DtRtiExecTrackingFilter::processDisconnectMsg(), DtRtiExecTrackingFilter::processReconnectMsg(), DtRtiExecTrackingFilter::processTimeout(), and DtRtiExecTrackingFilter::rtiExecConnId().
References DtWaitingForReconnect, myReconnectEnabled, myRtiExecState, and myTimer.
Referenced by DtRtiExecTrackingFilter::processDisconnectMsg().
References DtConnectedAndRunning, myRtiExecState, and resetRtiExecConnID().
Referenced by DtRtiExecTrackingFilter::processRtiExecDisconnectMsg().
is the rtiexec connected directly to this forwarder or is it connected to a remote forwarder?
References myRtiExecIsLocallyConnected.
Referenced by DtRtiExecTrackingFilter::processDisconnectMsg().
| bool DtRtiExecConnectionState::rtiExecReconnected | ( | unsigned int | newConnectionID, |
| const DtTcpMsgSocket * | execSock, | ||
| const MAKRti::DtString & | hostName | ||
| ) |
References DtConnectedAndRunning, DtNotConnected, DtWaitingForReconnect, hostName(), myExecHostname, myExecSock, myPingTimer, myRtiExecConnID, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processReconnectMsg().
| const DtTcpMsgSocket * DtRtiExecConnectionState::rtiExecSock | ( | ) | const |
retrieve the stored socket of the connected rtiExec.
Should really only be used to kill the old execSocket upon rtiExecDisconnectMsgRecv'd.
References myExecSock.
Referenced by DtRtiExecTrackingFilter::processTimeout(), and DtRtiExecTrackingFilter::rtiExecSocket().
References DtReconnectFailed, and myRtiExecState.
Referenced by DtRtiExecTrackingFilter::processTimeout().
Periodically ping the rtiexec connection to ensure that it is alive Returns false if there is an rtiexec connection error.
References DtTcpMsgSocket::isConnected(), myExecSock, myPingTimer, and myRtiExecReconnectTimeout.
Referenced by DtRtiExecTrackingFilter::processTimeout().
MAKRti::DtString DtRtiExecConnectionState::myExecHostname [protected] |
Referenced by hostName(), resetRtiExecConnID(), rtiExecConnected(), and rtiExecReconnected().
const DtTcpMsgSocket* DtRtiExecConnectionState::myExecSock [protected] |
Referenced by resetRtiExecConnID(), rtiExecConnected(), rtiExecReconnected(), rtiExecSock(), and testRtiExecConnectionStatus().
MAKRti::DtClock DtRtiExecConnectionState::myPingTimer [protected] |
Referenced by rtiExecConnected(), rtiExecReconnected(), and testRtiExecConnectionStatus().
bool DtRtiExecConnectionState::myReconnectEnabled [protected] |
Referenced by reconnectEnabled(), and rtiExecDisconnected().
bool DtRtiExecConnectionState::myRtiExecAvailable [protected] |
In the case of an RtiExec reconnect, the DtRtiExecTrackingFilter will change the.
connection ID of the known rtiExec. As far as I know, only the DtRtiExecTrackingFilter object (which maybe should be refactored to the singleton pattern) should be the only object that accesses this function.
unsigned int DtRtiExecConnectionState::myRtiExecConnID [protected] |
Referenced by resetRtiExecConnID(), rtiExecConnected(), rtiExecConnID(), and rtiExecReconnected().
Referenced by resetRtiExecConnID(), rtiExecConnected(), and rtiExecIsLocalConnection().
MAKRti::DtTime DtRtiExecConnectionState::myRtiExecReconnectTimeout [protected] |
Referenced by hasTimeElapsed(), and testRtiExecConnectionStatus().
MAKRti::DtClock DtRtiExecConnectionState::myTimer [protected] |
Referenced by hasTimeElapsed(), and rtiExecDisconnected().