MAK RTIspy API Documentation for HLA 1.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtFederateMgr Class Reference

Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg. More...

+ Inheritance diagram for DtFederateMgr:
+ Collaboration diagram for DtFederateMgr:

List of all members.

Public Types

typedef DtFederateMgr *(* DtFederateMgrCreator )(DtRIDParameters *ridParams, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
 Federate manager creator.

Public Member Functions

virtual ~DtFederateMgr ()
 Destructor.
virtual void createFederationExecution (const char *executionName, const char *timeImplName, const char *fed)=0
 Process the create federation execution service.
virtual void destroyFederationExecution (const char *executionName)=0
 Process the destroy federation execution service.
virtual RTI::FederateHandle joinFederationExecution (const char *yourName, const char *executionName, RTI::FederateAmbassador *federateAmbassadorReference, unsigned long flags)=0
 Process the join federation execution service.
virtual void resignFederationExecution (RTI::ResignAction theAction)
 Process the resign federation execution service.
virtual void registerFederationSynchronizationPoint (const char *label, const char *theTag)=0
 Process the register federation synchronization point service.
virtual void registerFederationSynchronizationPoint (const char *label, const char *theTag, DtFederateHandleSet const &syncSet)=0
 Process the register federation synchronization point service.
virtual void synchronizationPointAchieved (const char *label, bool successfully=true)=0
 Process the synchronization point achieved service.
virtual MAKRti::DtString fedFileName (MAKRti::DtString execName)
 Return the .fed file name associated with the federation execution name.
virtual MAKRti::DtString timeImplName (MAKRti::DtString execName)
 Return the time implementation name associated with the federation execution name.
virtual void init ()
 Virtual initialization within create.
virtual bool tick ()
 Update the state of the federation.
virtual void pretick ()
virtual void posttick ()
virtual void requestFederationSave (const char *label, const RTI::FedTime *time=NULL)=0
 Process the requested federation save service.
virtual void federateSaveBegun ()=0
 Process the federate save begun service.
virtual void federateSaveComplete ()=0
 Process the federate save complete service.
virtual void federateSaveNotComplete ()=0
 Process the federate save not complete service.
virtual void requestFederationRestore (const char *label)=0
 Process the request federation restore service.
virtual void federateRestoreComplete ()=0
 Process the federate restore complete service.
virtual void federateRestoreNotComplete ()=0
 Process the federate restore not complete service.
virtual char * getTransportationName (MAKRti::DtTransportType transport)
 Get transport name service.
virtual char * getOrderName (MAKRti::DtOrderType order)
 Get order name service.
virtual MAKRti::DtTransportType getTransportationHandle (MAKRti::DtString transport)
 Get transport handle service.
virtual MAKRti::DtOrderType getOrderHandle (MAKRti::DtString order)
 Get order handle service.
virtual DtFederateHandle federateHandle () const
 Get the federate handle.
virtual MAKRti::DtString const & fedType () const
 Get the federate type.
virtual MAKRti::DtString const & fedName () const
 Get the federate name (HLA Evolved)
virtual MAKRti::DtString const & fedExName () const
 Get the federation execution name.
virtual unsigned long fedExHandle () const
 Get the federation execution handle.
virtual bool isJoined () const
 Return boolean: federate is joined?
virtual DtConnectionMgrconnectMgr ()
 Access to the connection manager.
virtual DtConnectionMgrconnectMgr () const
virtual DtRIDParametersparams ()
 Access to the RID parameters.
virtual DtRIDParametersparams () const
virtual DtFomClassMgrfom ()
 Access to the fom.
virtual DtFomClassMgrfom () const
virtual DtInteractionMgrinterMgr ()
 Access to the interaction mgr.
virtual DtInteractionMgrinterMgr () const
virtual DtTestManagertestMgr ()
 Access to the test Manager.
virtual DtTestManagertestMgr () const
virtual DtObjectMgrobjMgr ()
 Access to the object mgr.
virtual DtObjectMgrobjMgr () const
virtual DtLogicalTimeFactorytimeFactory ()
 Access to the time factory.
virtual DtLogicalTimeFactorytimeFactory () const
virtual DtRtiAssistantLrcClientassistantClient ()
 Access to the RTI Assistant client.
virtual DtRtiAssistantLrcClientassistantClient () const
virtual bool isJoinedFederate (DtFederateHandle federateHandleValue) const
 Return bool: Is the federate handle known to be in the federation.
virtual bool saveInitiated () const
 return bool: save initiated?
virtual bool saveBegun () const
 return bool: save begun?
virtual bool restoreRequested () const
 return bool: restore requested?
virtual bool restoreInitiated () const
 return bool: restore initiated ?
virtual bool restoreBegun () const
 return bool: restore begun?
virtual const MAKRti::DtString & restoreLabel () const
 return current restore label
virtual const MAKRti::DtString & lastRestoreLabel () const
 return last restore label
const MAKRti::DtString & currentFedFileName () const
 get/set current FED file name
void setCurrentFedFileName (const MAKRti::DtString &)
const MAKRti::DtString & mimName () const
 get/set MIM name
void setMimName (const MAKRti::DtString &)
const MAKRti::DtString & currentTimeImplName () const
 get/set current time implementation name
void setCurrentTimeImplName (const MAKRti::DtString &)
virtual const MAKRti::DtString & saveLabel () const
 Set/Get save label.
virtual void setSaveLabel (const MAKRti::DtString &value)
virtual const MAKRti::DtString & lastSaveLabel () const
 Set/Get last save label.
virtual void setLastSaveLabel (const MAKRti::DtString &value)
virtual void testSaveProgress ()=0
 Perform exception tests on save/restore state.
virtual void initiateSave ()
 Perform the actual save possibly after waiting to enter time advancing state.
virtual void initiateTimedSave (RTI::FedTime const &saveTime)
 Save is initiated possibly after waiting to enter time advancing state.
virtual bool save (DtRtiSaveFile &file)
 Perform the actual save.
virtual bool restore (DtRtiSaveFile &file)
 Perform the actual restore.
virtual MAKRti::DtString & getSaveFileName (const char *label, DtFederateHandle fedHandle, MAKRti::DtString &fileName, bool extendName=true)
 Create a save file name from the label and return in supplied parameter.
virtual MAKRti::DtString & getRestoreFileName (const char *label, DtFederateHandle fedHandle, MAKRti::DtString &fileName)
 Create a restore file name from the label and return in supplied parameter.
virtual unsigned long tickCount () const
 Return the number of ticks.
virtual bool isTicking () const
 Return true if currently processing tick.
virtual void reportLatencyTestResults (const DtLatencyReportMsg &msg)
 Report results of a latency test.
virtual void reportLatencyTestStatus (const DtTestMgrStatusMsg &msg)
 Report current latency test status.
virtual void setWebServerConnected (bool connected)
 Inform assistant and rtiexec that a web server connection has been established.
unsigned long flags () const
DtResignAction automaticResignDirective () const
virtual void setTopLevelAmbassador (RTI::RTIambassador *ambPtr)
 Provide access to top level RTI Ambassador (and Federate Ambassador for 1516E)
RTI::RTIambassadorrtiAmb ()
 Access to the top level RTI Ambassador given to the federate.
RTI::RTIambassadorrtiAmb () const
 Access to the top level RTI Ambassador given to the federate.
virtual RTI::FederateAmbassadorfederateAmbassador () const
 Access to the Federate Ambassador submitted by the federate.

Static Public Member Functions

static DtFederateMgrcreate (DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
 A Federate Manager instance is created, initialized, and its pointer is returned.
static void setCreatorFunction (DtFederateMgrCreator fn)
 Register a creator function.
static void setInternalCreatorFunction (DtFederateMgrCreator fn)
 Register alternate internal creators.

Protected Member Functions

 DtFederateMgr (DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
 Constructor.
virtual void sendAlive ()
 Send the alive message.
virtual void sendResignMsg (const char *fedExName, DtFederateHandle fedHandle, DtResignAction action)
 Send the resign message.
void sendTickedMsg ()
 Send the signal ticked message.
virtual void applyRidParameters ()
 Apply RID parameters.
virtual MAKRti::DtFilename fedFileNameToUse (MAKRti::DtString fileName, MAKRti::DtString executionName)
 Utility function, finds fed file name to use based on fed file name and exeution name.
virtual void testReadFedFile (MAKRti::DtString fileName, MAKRti::DtString executionName)
 Attempts to read a fed file but does not fill in the fom class.
virtual void readFedFile (MAKRti::DtString fileName, MAKRti::DtString executionName)
 Reads a FED file into a DtFomClassMgr object.
virtual void readFedFilePtr (const FILE *fp, const MAKRti::DtString &fileName, const MAKRti::DtString &executionName)
 Reads a FED file into a DtFomClassMgr object.
virtual void addFedExNameMapping (const MAKRti::DtString &execName, const MAKRti::DtString &timeImplName, const MAKRti::DtString &fed)
 Add mapping between federation execution name, time Impl Name and fed file name.
virtual void addFomModuleNameMapping (const MAKRti::DtString executionName, const std::vector< MAKRti::DtString > &modules)
virtual void addFomModuleNameMapping (const MAKRti::DtString executionName, const MAKRti::DtString &modules)
virtual DtResignAction testResign (RTI::ResignAction theAction)
 Test the resign action and return the internal representation.
virtual void postJoinInit (const char *federateType, const char *executionName, const char *federateName, RTI::FederateAmbassador *federateAmbassadorReference)
 Uses the given information to initialize federate data.
virtual MAKRti::DtResignAction convertResignAction (RTI::ResignAction) const
virtual RTI::ResignAction convertResignAction (MAKRti::DtResignAction) const
DtFedReader * getReader (DtFomType theFomType, DtFomClassMgr *target)
DtFedReader * getReader (DtFomType theFomType)
void addToParsedFomMap (DtFedReader *myFedReader, const MAKRti::DtString &fileNameToUse, DtFomClassMgr *fedTarget, unsigned long theCrc=0)
MessageHandling

Process federation management messages Registered callback call these methods

virtual void processResign (const DtResignMsg &msg)
 Process resign message.
virtual void processEnableDisableNetworkTesting (const DtEnableDisableNetworkTestingMsg &msg)
 disable network testing
virtual void processSaveInitiate (const DtSaveInitiateMsg &msg)
 Process save initiate message.
virtual void processSaveResponse (const DtSaveResponseMsg &msg)
 Process save resonse message.
virtual void processSaveFinished (const DtSaveFinishedMsg &msg)
 Process save finished message.
virtual void processRestoreReply (const DtRestoreReplyMsg &msg)
 Process restore reply message.
virtual void processRestoreInitiate (const DtRestoreInitiateMsg &msg)
 Process restore initiate message.
virtual void processRestoreEnd (const DtRestoreEndMsg &msg)
 Process restore end message.
virtual void processRestore (const DtRestoreMsg &msg)
 Process restore message.
AssistantMessageHandling

Process assistant messages Registered callback call these methods

virtual void processAssistantResign (const DtAssistantExitMsg &msg)
 Process resign message from Assistant.
virtual void processAssistantEnableLogging (const DtAssistantLogEnableMsg &msg)
 Process resign message from Assistant.
virtual void processSignalTickInterval (const DtAssistantFederateSignalTickIntervalMsg &msg)
 Process resign message from Assistant.
CreateManager

Create various managers

virtual void createObjectMgr ()
 Create the Object Manager.
virtual void createInteractionMgr ()
 Create the Interaction Manager.
virtual void createDdmMgr ()
 Create the DDM Manager.
virtual void createTimeMgr ()
 Create the Time manager.
virtual void createMomMgr ()
 Create the MOM Manager.
virtual void createTestMgr ()
 Create the test Manager.

Static Protected Member Functions

MessageCallbacks

Register these callbacks methods with connection manager.

Pass this manager as the user data.

static void processResign (const DtResignMsg &msg, void *usr)
 resign message callback
static void processEnableDisableNetworkTesting (const DtEnableDisableNetworkTestingMsg &msg, void *usr)
 process enable / disable network testing callback
static void processSaveInitiate (const DtSaveInitiateMsg &msg, void *usr)
 save initiate message callback
static void processSaveResponse (const DtSaveResponseMsg &msg, void *usr)
 save response message callback
static void processSaveFinished (const DtSaveFinishedMsg &msg, void *usr)
 save finished message callback
static void processRestoreReply (const DtRestoreReplyMsg &msg, void *usr)
 restore reply message callback
static void processRestore (const DtRestoreMsg &msg, void *usr)
 restore message callback
static void processRestoreInitiate (const DtRestoreInitiateMsg &msg, void *usr)
 restore initiate message callback
static void processRestoreEnd (const DtRestoreEndMsg &msg, void *usr)
 restore end message callback
AssistantMessageCallbacks

Register these callbacks methods with the assistant client.

Pass this manager as the user data.

static void processAssistantResign (const DtAssistantExitMsg &msg, void *usr)
 Assistant resign message callback.
static void processAssistantEnableLogging (const DtAssistantLogEnableMsg &msg, void *usr)
 Assistant logging enable message callback.
static void processSignalTickInterval (const DtAssistantFederateSignalTickIntervalMsg &msg, void *usr)
 Assistant signal tick interval message callback.

Protected Attributes

RTI::RTIambassadormyRtiAmb
 The federate's RTI Ambassador.
DtRtiAmbassadorBaseImplementormyAmbImpl
 The federate's RTI Ambassador Implementor.
MAKRti::DtTime myResponseInterval
 Interval to wait for response message during a message protocol.
MAKRti::DtString myFedExName
 Federation execution name.
unsigned long myFedExHandle
 Federation handle.
MAKRti::DtString myFedType
 Federate type.
MAKRti::DtString myFedName
 Federate name.
DtFederateHandle myFedHandle
 Federate handle.
MAKRti::DtString myCurrentFedFileName
 Current FED/FDD file name.
MAKRti::DtString myMimName
 MIM name.
MAKRti::DtString myCurrentTimeImplName
 Current time implementation name.
MAKRti::DtTime myLastHeartbeat
 Time of last heartbeat.
DtLogicalTimeFactorymyLogicalTimeFactory
 Logical time factory Even if NULL, need to have this factory.
RTI::FedTimeFactory myHlaTimeFactory
DtFedAmbWrappermyPrinter
 Prints data for federate ambassador calls.
DtFedAmbWrappermyFedAmbCatch
 Catches exceptions from federate ambassador calls.
DtRIDParametersmyParams
 Initialization data.
DtFedReader * myFedReader
 Temporary internal reader used until changes made to VR-Link fed reader.
DtFedReader * myFedReader13
DtFedReader * myFedReader1516
DtFedReader * myFedReader1516e
MAKRti::DtList myMappingList
 List of federation execution names with FED files names and time implementation names.
std::map< MAKRti::DtString,
std::set< MAKRti::DtString > > 
myFedFileNames
std::map< MAKRti::DtString,
DtFomClassMgr * > 
myParsedFoms
 Map containing FOMs parsed into FedTargets.
DtBoost::shared_ptr
< DtRtiAssistantLrcClient
myAssistantClient
 Manages the connection to the RTI Assistant.
bool myIgnoreForcedResign
 Prevents forcing duplicate resign.
MAKRti::DtClock myClock
 Clock for timing.
unsigned long myTickCount
 Tick counter.
bool myIsTicking
 indicates currently processing tick
bool myEnableFederateHeartbeat
 is heartbeating enabled?
bool myConnectedToWebServer
 This is set when the federate connects to the web server.
unsigned long myFlags
DtTestManagermyTestMgr
bool myNetworkTestEnabled
float mySignalTickInterval
 The Signal Tick Interval.
DtTime myLastTickTime
 The last tick time.
MAKRti::DtResignAction myResignAction
 The resign action.
ManagerAccess

Access to various manager components

DtConnectionMgrmyConnectMgr
 The connection manager.
DtFomClassMgrmyFom
 The FOM manager.
DtInteractionMgrmyInterMgr
 The interaction manager.
DtObjectMgrmyObjMgr
 The object manager.
DtMomMgr * myMomMgr
 The MOM manager.
SaveRestoreData

Data used for processing save and restore.

bool mySaveInitiated
 Indicates save initiated.
bool mySaveBegun
 Indicates save begun.
bool myRestoreRequested
 Indicates restore requested.
bool myRestoreInitiated
 Indicates restore initiated.
bool myRestoreBegun
 Indicates restore begun.
MAKRti::DtString mySaveLabel
 The save label.
MAKRti::DtString myLastSaveLabel
 The last save label.
MAKRti::DtString myRestoreLabel
 The restore label.
MAKRti::DtString myLastRestoreLabel
 The last restore label.

Static Protected Attributes

static DtFederateMgrCreator theCreator = 0
 The plugin creator.
static DtFederateMgrCreator theInternalCreator = 0
 The internal creator.

Private Member Functions

 DtFederateMgr (DtFederateMgr const &)
 Copy Constructor not implemented -- Copy Not Allowed!
DtFederateMgroperator= (DtFederateMgr const &)
 Assignment not implemented -- Assignment Not Allowed!

Detailed Description

Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.

Users should generally not need to override this class directly. Instead, they should override either DtRtiExecFederateMgr (which is instantiated when using the rtiexec) or DtSimpleFederateMgr (which is used when LRCs communicate peer to peer). To inspect federation data, users can obtain a pointer to an instance of this class through the RTI's DtRtiAmbassadorBaseImplementor instance.


Member Typedef Documentation

Federate manager creator.


Constructor & Destructor Documentation

DtFederateMgr::DtFederateMgr ( DtRIDParameters params,
DtRtiAmbassadorBaseImplementor ambImplPtr,
DtConnectionMgr connMgr,
DtBoost::shared_ptr< DtRtiAssistantLrcClient assistantClient 
) [protected]

Constructor.

References myConnectMgr, and DtConnectionMgr::setFederateMgr().

Copy Constructor not implemented -- Copy Not Allowed!


Member Function Documentation

void DtFederateMgr::addFedExNameMapping ( const MAKRti::DtString &  execName,
const MAKRti::DtString &  timeImplName,
const MAKRti::DtString &  fed 
) [protected, virtual]

Add mapping between federation execution name, time Impl Name and fed file name.

References myMappingList.

Referenced by DtRtiExecFederateMgr::initializeFOM().

void DtFederateMgr::addFomModuleNameMapping ( const MAKRti::DtString  executionName,
const std::vector< MAKRti::DtString > &  modules 
) [protected, virtual]

References myFedFileNames.

Referenced by addFomModuleNameMapping().

void DtFederateMgr::addFomModuleNameMapping ( const MAKRti::DtString  executionName,
const MAKRti::DtString &  modules 
) [protected, virtual]
void DtFederateMgr::addToParsedFomMap ( DtFedReader *  myFedReader,
const MAKRti::DtString &  fileNameToUse,
DtFomClassMgr fedTarget,
unsigned long  theCrc = 0 
) [protected]
void DtFederateMgr::applyRidParameters ( ) [protected, virtual]

References myAssistantClient.

DtResignAction DtFederateMgr::automaticResignDirective ( ) const

References myResignAction.

Referenced by DtObjectMgr::processResign().

Access to the connection manager.

References myConnectMgr.

Referenced by DtRtiExecFederateMgr::applyRidParameters(), applyRidParameters(), DtRtiExecFederateMgr::checkJoinResponse(), DtTestManager::connectMgr(), DtObjectMgr::connectMgr(), DtInteractionMgr::connectMgr(), DtRtiExecFederateMgr::destroyFederationExecution(), DtRtiExecFederateMgr::federateSaveNotComplete(), DtRtiExecFederateMgr::handleFailedJoin(), DtRtiExecFederateMgr::init(), DtRtiExecFederateMgr::initializeFOM(), DtRtiExecFederateMgr::initializeTimeFactory(), DtRtiExecFederateMgr::initiateSave(), DtRtiExecFederateMgr::initRidTester(), DtSimpleFederateMgr::joinFederationExecution(), posttick(), DtRtiExecFederateMgr::posttick(), DtRtiExecFederateMgr::processCreateResponseMsg(), DtRtiExecFederateMgr::processDesignatedFederateMsg(), DtRtiExecFederateMgr::processFomModuleFileRequestMsg(), DtRtiExecFederateMgr::processJoinResponseMsg(), processResign(), DtRtiExecFederateMgr::processRestore(), DtRtiExecFederateMgr::processRestoreEnd(), DtRtiExecFederateMgr::processRestoreInitiate(), DtRtiExecFederateMgr::processRestoreReply(), DtRtiExecFederateMgr::processSaveFinished(), DtRtiExecFederateMgr::processSaveResponse(), DtRtiExecFederateMgr::processSyncPointMsg(), reportLatencyTestResults(), reportLatencyTestStatus(), DtRtiExecFederateMgr::requestImmediateSave(), DtRtiExecFederateMgr::restore(), DtRtiExecFederateMgr::save(), sendAlive(), DtRtiExecFederateMgr::sendCreateMsg(), DtRtiExecFederateMgr::sendDestroyMsg(), DtRtiExecFederateMgr::sendJoinConfirmMsg(), DtRtiExecFederateMgr::sendJoinMsg(), sendResignMsg(), DtRtiExecFederateMgr::sendRestoreBegunMsg(), DtRtiExecFederateMgr::sendRestoreCompleteMsg(), DtRtiExecFederateMgr::sendRestoreRequestMsg(), DtRtiExecFederateMgr::sendSaveBegunMsg(), DtRtiExecFederateMgr::sendSaveCompleteMsg(), DtRtiExecFederateMgr::sendSaveRequestMsg(), DtRtiExecFederateMgr::sendSyncPointMsg(), tick(), DtRtiExecFederateMgr::waitForJoinResponse(), ~DtFederateMgr(), and DtRtiExecFederateMgr::~DtRtiExecFederateMgr().

References myConnectMgr.

DtResignAction DtFederateMgr::convertResignAction ( RTI::ResignAction  action) const [protected, virtual]

Referenced by processResign(), and testResign().

virtual RTI::ResignAction DtFederateMgr::convertResignAction ( MAKRti::DtResignAction  ) const [protected, virtual]
DtFederateMgr * DtFederateMgr::create ( DtRIDParameters params,
DtRtiAmbassadorBaseImplementor ambImplPtr,
DtConnectionMgr connMgr,
DtBoost::shared_ptr< DtRtiAssistantLrcClient assistantClient 
) [static]

A Federate Manager instance is created, initialized, and its pointer is returned.

A registered creator is used if present; otherwise, an internal class is instantiated. Note: A NULL pointer will be returned unless a plugin or internal creator is set because this class is abstract.

Reimplemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

References assistantClient(), init(), params(), theCreator, and theInternalCreator.

Referenced by DtRtiAmbassadorBaseImplementor::completeConnection(), createDdmMgr(), createInteractionMgr(), createMomMgr(), createObjectMgr(), createTimeMgr(), readFedFile(), readFedFilePtr(), setCreatorFunction(), and setInternalCreatorFunction().

void DtFederateMgr::createDdmMgr ( ) [protected, virtual]

Create the DDM Manager.

References create(), dataDistMgmt, ddmFixedGrid, params(), and setInternalCreatorFunction().

virtual void DtFederateMgr::createFederationExecution ( const char *  executionName,
const char *  timeImplName,
const char *  fed 
) [pure virtual]

Process the create federation execution service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

void DtFederateMgr::createInteractionMgr ( ) [protected, virtual]

Create the Interaction Manager.

References create(), dataDistMgmt, ddmFixedGrid, myInterMgr, params(), and setInternalCreatorFunction().

void DtFederateMgr::createMomMgr ( ) [protected, virtual]

Create the MOM Manager.

References create(), momServiceAvailable, myMomMgr, and params().

void DtFederateMgr::createObjectMgr ( ) [protected, virtual]

Create the Object Manager.

References create(), dataDistMgmt, ddmFixedGrid, myObjMgr, params(), and setInternalCreatorFunction().

void DtFederateMgr::createTestMgr ( ) [protected, virtual]

Create the test Manager.

References myNetworkTestEnabled, myTestMgr, and params().

void DtFederateMgr::createTimeMgr ( ) [protected, virtual]

Create the Time manager.

References create(), and params().

const MAKRti::DtString & DtFederateMgr::currentFedFileName ( ) const

get/set current FED file name

References myCurrentFedFileName.

Referenced by DtSimpleFederateMgr::joinFederationExecution().

const MAKRti::DtString & DtFederateMgr::currentTimeImplName ( ) const

get/set current time implementation name

References myCurrentTimeImplName.

virtual void DtFederateMgr::destroyFederationExecution ( const char *  executionName) [pure virtual]

Process the destroy federation execution service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

Access to the Federate Ambassador submitted by the federate.

References DtConnectionMgr::fedAmb(), and myConnectMgr.

virtual void DtFederateMgr::federateRestoreComplete ( ) [pure virtual]

Process the federate restore complete service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::federateRestoreNotComplete ( ) [pure virtual]

Process the federate restore not complete service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::federateSaveBegun ( ) [pure virtual]

Process the federate save begun service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::federateSaveComplete ( ) [pure virtual]

Process the federate save complete service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::federateSaveNotComplete ( ) [pure virtual]

Process the federate save not complete service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

unsigned long DtFederateMgr::fedExHandle ( ) const [virtual]

Get the federation execution handle.

References myFedExHandle.

Referenced by DtTestManager::sendStatusMessages().

MAKRti::DtString const & DtFederateMgr::fedExName ( ) const [virtual]

Get the federation execution name.

References myFedExName.

Referenced by DtSimpleFederateMgr::joinFederationExecution().

MAKRti::DtString DtFederateMgr::fedFileName ( MAKRti::DtString  execName) [virtual]

Return the .fed file name associated with the federation execution name.

If none has been registered using addFedExNameMapping, we use <execName>.fed.

References DtFedFileMapping::execName(), DtFedFileMapping::fedFileName(), and myMappingList.

Referenced by fedFileNameToUse(), and DtSimpleFederateMgr::joinFederationExecution().

MAKRti::DtFilename DtFederateMgr::fedFileNameToUse ( MAKRti::DtString  fileName,
MAKRti::DtString  executionName 
) [protected, virtual]

Utility function, finds fed file name to use based on fed file name and exeution name.

Back-compat with pre-1.3.6 releases, where FED file name does not come in a join response message.

References fedFileName().

Referenced by readFedFile(), and testReadFedFile().

MAKRti::DtString const & DtFederateMgr::fedName ( ) const [virtual]

Get the federate name (HLA Evolved)

References myFedName.

MAKRti::DtString const & DtFederateMgr::fedType ( ) const [virtual]
unsigned long DtFederateMgr::flags ( ) const

References myFlags.

DtFomClassMgr * DtFederateMgr::fom ( ) const [virtual]

References myFom.

MAKRti::DtOrderType DtFederateMgr::getOrderHandle ( MAKRti::DtString  order) [virtual]

Get order handle service.

References theReceiveName, and theTimestampName.

char * DtFederateMgr::getOrderName ( MAKRti::DtOrderType  order) [virtual]

Get order name service.

References NULL, theReceiveName, and theTimestampName.

DtFedReader * DtFederateMgr::getReader ( DtFomType  theFomType,
DtFomClassMgr target 
) [protected]
DtFedReader * DtFederateMgr::getReader ( DtFomType  theFomType) [protected]
MAKRti::DtString & DtFederateMgr::getRestoreFileName ( const char *  label,
DtFederateHandle  fedHandle,
MAKRti::DtString &  fileName 
) [virtual]

Create a restore file name from the label and return in supplied parameter.

The default name is extended if a file with that name already exists. Name extension can be turned off using the supplied parameter. Returns a reference to the supplied file name parameter

References getSaveFileName().

Referenced by DtRtiExecFederateMgr::processRestoreInitiate().

MAKRti::DtString & DtFederateMgr::getSaveFileName ( const char *  label,
DtFederateHandle  fedHandle,
MAKRti::DtString &  fileName,
bool  extendName = true 
) [virtual]

Create a save file name from the label and return in supplied parameter.

The default name is extended if a file with that name already exists. Name extension can be turned off using the supplied parameter. Returns a reference to the supplied file name parameter

References myFedExName, myFedType, params(), and DtRIDParameters::saveRestoreDirectoryPath().

Referenced by DtRtiExecFederateMgr::federateSaveComplete(), and getRestoreFileName().

MAKRti::DtTransportType DtFederateMgr::getTransportationHandle ( MAKRti::DtString  transport) [virtual]

Get transport handle service.

References theBestEffortName, and theReliableName.

char * DtFederateMgr::getTransportationName ( MAKRti::DtTransportType  transport) [virtual]

Get transport name service.

References NULL, theBestEffortName, and theReliableName.

void DtFederateMgr::init ( ) [virtual]

Virtual initialization within create.

Reimplemented in DtRtiExecFederateMgr.

References applyRidParameters().

Referenced by create().

void DtFederateMgr::initiateSave ( ) [virtual]

Perform the actual save possibly after waiting to enter time advancing state.

Reimplemented in DtRtiExecFederateMgr.

void DtFederateMgr::initiateTimedSave ( RTI::FedTime const &  saveTime) [virtual]

Save is initiated possibly after waiting to enter time advancing state.

Provide time of save.

Reimplemented in DtRtiExecFederateMgr.

References myInterMgr.

bool DtFederateMgr::isJoined ( ) const [virtual]

Return boolean: federate is joined?

References myFedExName.

Referenced by tick().

bool DtFederateMgr::isJoinedFederate ( DtFederateHandle  federateHandleValue) const [virtual]

Return bool: Is the federate handle known to be in the federation.

References myMomMgr.

bool DtFederateMgr::isTicking ( ) const [virtual]

Return true if currently processing tick.

References myIsTicking.

Referenced by DtAsyncConnectionMgr::send(), DtConnectionMgr::send(), and DtAsyncConnectionMgr::sendAndDelete().

virtual RTI::FederateHandle DtFederateMgr::joinFederationExecution ( const char *  yourName,
const char *  executionName,
RTI::FederateAmbassador federateAmbassadorReference,
unsigned long  flags 
) [pure virtual]

Process the join federation execution service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

const MAKRti::DtString & DtFederateMgr::lastRestoreLabel ( ) const [virtual]

return last restore label

References myLastRestoreLabel.

const MAKRti::DtString & DtFederateMgr::lastSaveLabel ( ) const [virtual]

Set/Get last save label.

References myLastSaveLabel.

const MAKRti::DtString & DtFederateMgr::mimName ( ) const

get/set MIM name

References myMimName.

Access to the object mgr.

References myObjMgr.

Referenced by DtRtiAmbassadorBaseImplementor::objMgr(), posttick(), pretick(), processResign(), and testResign().

DtObjectMgr * DtFederateMgr::objMgr ( ) const [virtual]

References myObjMgr.

DtFederateMgr& DtFederateMgr::operator= ( DtFederateMgr const &  ) [private]

Assignment not implemented -- Assignment Not Allowed!

DtRIDParameters * DtFederateMgr::params ( ) const [virtual]

References myParams.

void DtFederateMgr::postJoinInit ( const char *  federateType,
const char *  executionName,
const char *  federateName,
RTI::FederateAmbassador federateAmbassadorReference 
) [protected, virtual]
void DtFederateMgr::posttick ( ) [virtual]
void DtFederateMgr::pretick ( ) [virtual]
void DtFederateMgr::processAssistantEnableLogging ( const DtAssistantLogEnableMsg msg) [protected, virtual]

Process resign message from Assistant.

References DtRtiAmbassadorBaseImplementor::enableLogging(), DtAssistantLogEnableMsg::isEnable(), and myAmbImpl.

Referenced by postJoinInit().

void DtFederateMgr::processAssistantEnableLogging ( const DtAssistantLogEnableMsg msg,
void *  usr 
) [static, protected]

Assistant logging enable message callback.

void DtFederateMgr::processAssistantResign ( const DtAssistantExitMsg msg) [protected, virtual]
void DtFederateMgr::processAssistantResign ( const DtAssistantExitMsg msg,
void *  usr 
) [static, protected]

Assistant resign message callback.

void DtFederateMgr::processEnableDisableNetworkTesting ( const DtEnableDisableNetworkTestingMsg msg,
void *  usr 
) [static, protected]

process enable / disable network testing callback

void DtFederateMgr::processResign ( const DtResignMsg msg) [protected, virtual]
void DtFederateMgr::processResign ( const DtResignMsg msg,
void *  usr 
) [static, protected]

resign message callback

void DtFederateMgr::processRestore ( const DtRestoreMsg msg) [protected, virtual]

Process restore message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processRestore ( const DtRestoreMsg msg,
void *  usr 
) [static, protected]

restore message callback

void DtFederateMgr::processRestoreEnd ( const DtRestoreEndMsg msg) [protected, virtual]

Process restore end message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processRestoreEnd ( const DtRestoreEndMsg msg,
void *  usr 
) [static, protected]

restore end message callback

void DtFederateMgr::processRestoreInitiate ( const DtRestoreInitiateMsg msg) [protected, virtual]

Process restore initiate message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processRestoreInitiate ( const DtRestoreInitiateMsg msg,
void *  usr 
) [static, protected]

restore initiate message callback

void DtFederateMgr::processRestoreReply ( const DtRestoreReplyMsg msg) [protected, virtual]

Process restore reply message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processRestoreReply ( const DtRestoreReplyMsg msg,
void *  usr 
) [static, protected]

restore reply message callback

void DtFederateMgr::processSaveFinished ( const DtSaveFinishedMsg msg) [protected, virtual]

Process save finished message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processSaveFinished ( const DtSaveFinishedMsg msg,
void *  usr 
) [static, protected]

save finished message callback

void DtFederateMgr::processSaveInitiate ( const DtSaveInitiateMsg msg) [protected, virtual]

Process save initiate message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by postJoinInit(), resignFederationExecution(), and ~DtFederateMgr().

void DtFederateMgr::processSaveInitiate ( const DtSaveInitiateMsg msg,
void *  usr 
) [static, protected]

save initiate message callback

void DtFederateMgr::processSaveResponse ( const DtSaveResponseMsg msg) [protected, virtual]

Process save resonse message.

Reimplemented in DtRtiExecFederateMgr.

Referenced by DtRtiExecFederateMgr::requestImmediateSave().

void DtFederateMgr::processSaveResponse ( const DtSaveResponseMsg msg,
void *  usr 
) [static, protected]

save response message callback

Process resign message from Assistant.

References myClock, myLastTickTime, mySignalTickInterval, and DtAssistantFederateSignalTickIntervalMsg::signalTickInterval().

Referenced by postJoinInit().

void DtFederateMgr::processSignalTickInterval ( const DtAssistantFederateSignalTickIntervalMsg msg,
void *  usr 
) [static, protected]

Assistant signal tick interval message callback.

void DtFederateMgr::readFedFile ( MAKRti::DtString  fileName,
MAKRti::DtString  executionName 
) [protected, virtual]
void DtFederateMgr::readFedFilePtr ( const FILE *  fp,
const MAKRti::DtString &  fileName,
const MAKRti::DtString &  executionName 
) [protected, virtual]

Reads a FED file into a DtFomClassMgr object.

This form is preferred when using the distributed Fed File option.

References DtScopedNotifyLevelChange::changeNotifyLevel(), create(), DtToWString(), DtRIDParameters::dumpFed, getReader(), myFedReader, myFom, myResignAction, NULL, params(), and DtAssistantPopupHelper::popupAssistantMessage().

virtual void DtFederateMgr::registerFederationSynchronizationPoint ( const char *  label,
const char *  theTag 
) [pure virtual]

Process the register federation synchronization point service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::registerFederationSynchronizationPoint ( const char *  label,
const char *  theTag,
DtFederateHandleSet const &  syncSet 
) [pure virtual]

Process the register federation synchronization point service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

Report results of a latency test.

References connectMgr(), and DtConnectionMgr::sendStamped().

Referenced by DtTestManager::processLatencyTest().

Report current latency test status.

References connectMgr(), and DtConnectionMgr::sendStamped().

Referenced by DtTestManager::sendStatusMessages().

virtual void DtFederateMgr::requestFederationRestore ( const char *  label) [pure virtual]

Process the request federation restore service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual void DtFederateMgr::requestFederationSave ( const char *  label,
const RTI::FedTime time = NULL 
) [pure virtual]

Process the requested federation save service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

virtual bool DtFederateMgr::restore ( DtRtiSaveFile file) [inline, virtual]

Perform the actual restore.

Reimplemented in DtRtiExecFederateMgr.

bool DtFederateMgr::restoreBegun ( ) const [virtual]

return bool: restore begun?

References myRestoreBegun.

Referenced by DtRtiExecFederateMgr::testSaveProgress().

return bool: restore initiated ?

References myRestoreInitiated.

const MAKRti::DtString & DtFederateMgr::restoreLabel ( ) const [virtual]

return current restore label

References myRestoreLabel.

return bool: restore requested?

References myRestoreRequested.

Access to the top level RTI Ambassador given to the federate.

References myRtiAmb.

Referenced by DtTestManager::rtiAmb().

Access to the top level RTI Ambassador given to the federate.

References myRtiAmb.

virtual bool DtFederateMgr::save ( DtRtiSaveFile file) [inline, virtual]

Perform the actual save.

Reimplemented in DtRtiExecFederateMgr.

bool DtFederateMgr::saveBegun ( ) const [virtual]

return bool: save begun?

References mySaveBegun.

bool DtFederateMgr::saveInitiated ( ) const [virtual]

return bool: save initiated?

References mySaveInitiated.

Referenced by DtRtiExecFederateMgr::testSaveProgress().

const MAKRti::DtString & DtFederateMgr::saveLabel ( ) const [virtual]

Set/Get save label.

References mySaveLabel.

void DtFederateMgr::sendAlive ( ) [protected, virtual]

Send the alive message.

References connectMgr(), federateHandle(), and DtConnectionMgr::sendStampedAndDelete().

Referenced by tick().

void DtFederateMgr::sendResignMsg ( const char *  fedExName,
DtFederateHandle  fedHandle,
DtResignAction  action 
) [protected, virtual]
void DtFederateMgr::sendTickedMsg ( ) [protected]

Send the signal ticked message.

References assistantClient(), and DtRtiAssistantClient::sendSignalTickedMsg().

Referenced by tick().

Register a creator function.

When set, it will be used to create the Federate Manager.

References create(), DtBindCreator(), and theCreator.

void DtFederateMgr::setCurrentFedFileName ( const MAKRti::DtString &  newFileName)
void DtFederateMgr::setCurrentTimeImplName ( const MAKRti::DtString &  newName)

Register alternate internal creators.

The RTI proper uses this function to choose from various internal implementations. This function should not be used by plugins as the assignment may be overridden internally. Use the setCreatorFunction.

References create(), and theInternalCreator.

Referenced by DtRtiAmbassadorBaseImplementor::completeConnection(), createDdmMgr(), createInteractionMgr(), and createObjectMgr().

void DtFederateMgr::setLastSaveLabel ( const MAKRti::DtString &  value) [virtual]

References myLastSaveLabel.

void DtFederateMgr::setMimName ( const MAKRti::DtString &  newMimName)
void DtFederateMgr::setSaveLabel ( const MAKRti::DtString &  value) [virtual]

References mySaveLabel.

Provide access to top level RTI Ambassador (and Federate Ambassador for 1516E)

void DtFederateMgr::setWebServerConnected ( bool  connected) [virtual]

Inform assistant and rtiexec that a web server connection has been established.

References myConnectedToWebServer.

virtual void DtFederateMgr::synchronizationPointAchieved ( const char *  label,
bool  successfully = true 
) [pure virtual]

Process the synchronization point achieved service.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

DtTestManager * DtFederateMgr::testMgr ( ) const [virtual]

References myTestMgr.

void DtFederateMgr::testReadFedFile ( MAKRti::DtString  fileName,
MAKRti::DtString  executionName 
) [protected, virtual]
DtResignAction DtFederateMgr::testResign ( RTI::ResignAction  theAction) [protected, virtual]

Test the resign action and return the internal representation.

References convertResignAction(), myFedExName, objMgr(), and DtObjectMgr::testResign().

virtual void DtFederateMgr::testSaveProgress ( ) [pure virtual]

Perform exception tests on save/restore state.

Implemented in DtRtiExecFederateMgr, and DtSimpleFederateMgr.

bool DtFederateMgr::tick ( ) [virtual]
unsigned long DtFederateMgr::tickCount ( ) const [virtual]

Access to the time factory.

References myLogicalTimeFactory.

Referenced by DtRtiExecFederateMgr::initializeTimeFactory().

References myLogicalTimeFactory.

MAKRti::DtString DtFederateMgr::timeImplName ( MAKRti::DtString  execName) [virtual]

Return the time implementation name associated with the federation execution name.

If none has been registered using addFedExNameMapping, an empty string (default implementation) is returned

References DtFedFileMapping::execName(), myMappingList, and DtFedFileMapping::timeImplName().

Referenced by DtRtiExecFederateMgr::initializeTimeFactory().


Member Data Documentation

The federate's RTI Ambassador Implementor.

Referenced by processAssistantEnableLogging().

Manages the connection to the RTI Assistant.

Referenced by assistantClient(), and ~DtFederateMgr().

MAKRti::DtClock DtFederateMgr::myClock [protected]

This is set when the federate connects to the web server.

Referenced by DtRtiExecFederateMgr::sendJoinMsg(), and setWebServerConnected().

MAKRti::DtString DtFederateMgr::myCurrentFedFileName [protected]

Current FED/FDD file name.

Referenced by currentFedFileName(), and setCurrentFedFileName().

MAKRti::DtString DtFederateMgr::myCurrentTimeImplName [protected]

Current time implementation name.

Referenced by currentTimeImplName(), and setCurrentTimeImplName().

is heartbeating enabled?

Referenced by applyRidParameters(), and tick().

Catches exceptions from federate ambassador calls.

Referenced by applyRidParameters(), and ~DtFederateMgr().

unsigned long DtFederateMgr::myFedExHandle [protected]
MAKRti::DtString DtFederateMgr::myFedExName [protected]
std::map<MAKRti::DtString, std::set<MAKRti::DtString> > DtFederateMgr::myFedFileNames [protected]
MAKRti::DtString DtFederateMgr::myFedName [protected]

Federate name.

In HLA Evolved, the federate may choose this. In other HLA versions, the name is always assigned by the RTI.

Referenced by DtRtiExecFederateMgr::checkJoinResponse(), and fedName().

DtFedReader* DtFederateMgr::myFedReader [protected]
DtFedReader* DtFederateMgr::myFedReader13 [protected]

Reimplemented in DtRtiExecFederateMgr.

Referenced by getReader(), and ~DtFederateMgr().

DtFedReader* DtFederateMgr::myFedReader1516 [protected]

Reimplemented in DtRtiExecFederateMgr.

Referenced by getReader(), and ~DtFederateMgr().

DtFedReader* DtFederateMgr::myFedReader1516e [protected]

Reimplemented in DtRtiExecFederateMgr.

Referenced by getReader(), and ~DtFederateMgr().

MAKRti::DtString DtFederateMgr::myFedType [protected]

Federate type.

Referenced by fedType(), and getSaveFileName().

unsigned long DtFederateMgr::myFlags [protected]

Referenced by flags().

Prevents forcing duplicate resign.

Referenced by processAssistantResign(), and processResign().

indicates currently processing tick

Referenced by isTicking(), posttick(), and pretick().

MAKRti::DtTime DtFederateMgr::myLastHeartbeat [protected]

Time of last heartbeat.

Referenced by tick().

MAKRti::DtString DtFederateMgr::myLastRestoreLabel [protected]

The last restore label.

Referenced by lastRestoreLabel().

MAKRti::DtString DtFederateMgr::myLastSaveLabel [protected]
DtTime DtFederateMgr::myLastTickTime [protected]

The last tick time.

Referenced by processSignalTickInterval(), and tick().

Logical time factory Even if NULL, need to have this factory.

Referenced by DtRtiExecFederateMgr::initializeTimeFactory(), DtSimpleFederateMgr::joinFederationExecution(), timeFactory(), and ~DtFederateMgr().

MAKRti::DtList DtFederateMgr::myMappingList [protected]

List of federation execution names with FED files names and time implementation names.

These names are collected when creating federation executions.

Referenced by addFedExNameMapping(), fedFileName(), timeImplName(), and ~DtFederateMgr().

MAKRti::DtString DtFederateMgr::myMimName [protected]

MIM name.

Referenced by mimName(), and setMimName().

DtMomMgr* DtFederateMgr::myMomMgr [protected]
std::map<MAKRti::DtString, DtFomClassMgr*> DtFederateMgr::myParsedFoms [protected]

Prints data for federate ambassador calls.

Referenced by applyRidParameters(), and ~DtFederateMgr().

MAKRti::DtResignAction DtFederateMgr::myResignAction [protected]
MAKRti::DtTime DtFederateMgr::myResponseInterval [protected]

Interval to wait for response message during a message protocol.

MAKRti::DtString DtFederateMgr::myRestoreLabel [protected]

The federate's RTI Ambassador.

Referenced by rtiAmb().

MAKRti::DtString DtFederateMgr::mySaveLabel [protected]

The Signal Tick Interval.

Referenced by processSignalTickInterval(), and tick().

unsigned long DtFederateMgr::myTickCount [protected]

Tick counter.

Referenced by pretick(), tick(), and tickCount().

The plugin creator.

Referenced by create(), and setCreatorFunction().

The internal creator.

Referenced by create(), and setInternalCreatorFunction().


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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)