MAK RTIspy API Documentation for HLA Evolved
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
DtSynchronousFileDistributor Class Reference

Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining federates. More...

+ Inheritance diagram for DtSynchronousFileDistributor:
+ Collaboration diagram for DtSynchronousFileDistributor:

List of all members.

Public Member Functions

 DtSynchronousFileDistributor (const int fedEx, const MAKRti::DtString &fedExName, DtConnectionMgr *connMgr)
 Federate Constructor.
virtual ~DtSynchronousFileDistributor ()
 Destructor.
virtual bool tick ()
 Tick the multFileDistributor.
virtual bool sendFedFile (const std::vector< MAKRti::DtString > &modules)
 Override sendFedFile upload fed files passed in.
virtual bool pullEntireFedFile (const std::vector< MAKRti::DtString > &modules)
 Download FED File from the RtiExec ( blocking )
bool pushedFomModules () const
 Has the fedex pushed an entire fom module since the last time getPushedFomModules called?
bool pullInProgress () const
 Is the distributor currently pulling FOM modules?
void getPushedFomModules (std::vector< MAKRti::DtString > &modules)
 Populate modules w/ the names of pushedFomModules.
void multFileRequestedCb (const DtFomModuleRequestMsg &msg)
 File requested callback ( part of multiple file requested)
void multFileReceivedCb (const DtFomModuleDistributionMsg &msg)
 File received callback ( part of multiple file recieved)
void fileReceivedCb (const DtFomModuleDistributionMsg &msg)
 We're hiding DtFileDistributorRunnable's fileReceivedCb.

Static Public Member Functions

static
DtSynchronousFileDistributor
create (const int fedEx, const MAKRti::DtString &fedExName, DtConnectionMgr *connMgr)
static void multFileReceivedCb (const DtFomModuleDistributionMsg &msg, void *usr)
 File received callback ( part of multiple file recieved)

Private Member Functions

 DtSynchronousFileDistributor ()
 DtSynchronousFileDistributor (const DtSynchronousFileDistributor &orig)
DtSynchronousFileDistributoroperator= (const DtSynchronousFileDistributor &orig)

Private Attributes

DtConnectionMgrmyConnMgr
 Map between files that have been uploaded to me and their 'file names'.
std::vector< MAKRti::DtString > myReceivedPushedFomModules
bool myPullInProgress
 Indicates that a FOM module pull is currently in progress.

Detailed Description

Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining federates.


Constructor & Destructor Documentation

DtSynchronousFileDistributor::DtSynchronousFileDistributor ( const int  fedEx,
const MAKRti::DtString &  fedExName,
DtConnectionMgr connMgr 
)

Member Function Documentation

static DtSynchronousFileDistributor* DtSynchronousFileDistributor::create ( const int  fedEx,
const MAKRti::DtString &  fedExName,
DtConnectionMgr connMgr 
) [static]

We're hiding DtFileDistributorRunnable's fileReceivedCb.

void DtSynchronousFileDistributor::getPushedFomModules ( std::vector< MAKRti::DtString > &  modules)

Populate modules w/ the names of pushedFomModules.

References myReceivedPushedFomModules.

Referenced by DtRtiExecFederateMgr::posttick().

void DtSynchronousFileDistributor::multFileReceivedCb ( const DtFomModuleDistributionMsg msg,
void *  usr 
) [static]

File received callback ( part of multiple file recieved)

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

DtSynchronousFileDistributor& DtSynchronousFileDistributor::operator= ( const DtSynchronousFileDistributor orig) [private]
bool DtSynchronousFileDistributor::pullEntireFedFile ( const std::vector< MAKRti::DtString > &  modules) [virtual]

Is the distributor currently pulling FOM modules?

References myPullInProgress.

Referenced by DtRtiExecFederateMgr::posttick().

Has the fedex pushed an entire fom module since the last time getPushedFomModules called?

References myReceivedPushedFomModules.

Referenced by DtRtiExecFederateMgr::posttick().

bool DtSynchronousFileDistributor::sendFedFile ( const std::vector< MAKRti::DtString > &  modules) [virtual]

Override sendFedFile upload fed files passed in.

Reimplemented from DtFileDistributor.

References myConnMgr, DtFileDistributor::myFiles, DtFileDistributor::pushFedFile(), DtFileDistributor::sendFedFile(), and DtConnectionMgr::tick().


Member Data Documentation

Map between files that have been uploaded to me and their 'file names'.

Referenced by DtSynchronousFileDistributor(), pullEntireFedFile(), sendFedFile(), tick(), and ~DtSynchronousFileDistributor().

Indicates that a FOM module pull is currently in progress.

Referenced by pullEntireFedFile(), and pullInProgress().

std::vector<MAKRti::DtString> DtSynchronousFileDistributor::myReceivedPushedFomModules [private]

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)