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

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

+ Inheritance diagram for DtAsyncFileDistributorRunnable:
+ Collaboration diagram for DtAsyncFileDistributorRunnable:

List of all members.

Public Member Functions

 DtAsyncFileDistributorRunnable (DtFedExec *parent)
 Fedex Constructor.
virtual ~DtAsyncFileDistributorRunnable ()
 Destructor.
virtual std::auto_ptr
< DtDistributorThreadEvent
getNextEvent ()
virtual void postCommand (std::auto_ptr< DtFedExecDistribFunctor > cmd)
virtual void setOnExitHandler (const DtDistributorThreadEvent &fn)
virtual void registerUploadFedFileToExecEvent (const DtDistribFunctor &fn)
virtual void registerFedFileRequestsEvent (const DtDistribFunctor &fn)
virtual void registerRequestedModulesArrivedEvent (const DtDistribFunctor &fn)
virtual void registerTakeFileEvent (const DtDistribFunctor &fn)
virtual void registerPushFedFileToFederatesEvent (const DtDistribFunctor &fn)
virtual void registerPushFedFileToSingleFederateEvent (const DtDistribFunctor &fn)
virtual void run ()
 Thread Functions.
virtual void requestFedFileUploadToExec (const unsigned long initiatingFedID, const std::vector< DtString > *modules)
virtual bool sendFedFile (const std::vector< DtString > &modules, DtFederateHandle recipient)
virtual void fedFileUploaded (const DtString fileUploaded)
 Called when Fom Module received successfully.
void processTakeFileCmd (std::map< DtString, DtFileInformation * >)
void processPushFedFileToAllFederates (DtString name, int size, const char *buff, unsigned long destination)
void processFileRequested (const DtFomModuleRequestMsg &cmd)
void processFileReceived (const DtFomModuleDistributionMsg &cmd)
bool requestsPending () const
 Are there outstanding requests to be handled?

Static Public Member Functions

static
DtAsyncFileDistributorRunnable
create (DtFedExec *parent)

Protected Types

typedef std::list
< DtDistributorThreadEvent * > 
DtDistributorThreadEventList
typedef std::pair
< DtDistributorThreadEvent
*, bool
DtMsgFunctorIsMomMsgPair

Protected Member Functions

void signalFrontEnd () const
bool executeCommand ()
void processInternalCommands ()
void changeCallbackEvents (const DtDistribFunctorChangeRequest &fn)
void clearEventList (rtiMsgList &theEventList)

Protected Attributes

bool myStopped
std::auto_ptr
< DtFedExecDistribFunctor
mySignal
std::auto_ptr
< DtDistributorThreadEvent
myOnExitEvent
DtThreadSafeQueue
< DtDistributorThreadEvent
myPendingCommands
DtThreadSafeQueue
< DtDistributorThreadEvent
myEventQueue
DtThreadSafeQueue
< DtDistributorThreadEvent
myInternalCmdQueue
DtDistributorThreadEventList myRequestedModuleArrivedEvents
 Registered event functors.
DtDistributorThreadEventList myTakeFileEvents
DtDistributorThreadEventList myFedFileRequestedEvents
DtDistributorThreadEventList myFedFileReceivedEvents
DtDistributorThreadEventList myPushFedFileToAllFederatesEvents
DtDistributorThreadEventList myPushFedFileToSingleFederateEvents
DtDistributorThreadEventList myUploadRequestEvents

Private Member Functions

 DtAsyncFileDistributorRunnable ()
 DtAsyncFileDistributorRunnable (const DtAsyncFileDistributorRunnable &orig)
DtAsyncFileDistributorRunnableoperator= (const DtAsyncFileDistributorRunnable &orig)

Private Attributes

DtFedExecmyFedEx

Detailed Description

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


Member Typedef Documentation


Constructor & Destructor Documentation

Fedex Constructor.

Destructor.

References myStopped.

Referenced by create().


Member Function Documentation

void DtAsyncFileDistributorRunnable::clearEventList ( rtiMsgList theEventList) [protected]
void DtAsyncFileDistributorRunnable::fedFileUploaded ( const DtString  fileUploaded) [virtual]

Called when Fom Module received successfully.

References myEventQueue, myRequestedModuleArrivedEvents, and DtThreadSafeQueue< T >::push_back().

Referenced by processFileReceived().

DtAsyncFileDistributorRunnable& DtAsyncFileDistributorRunnable::operator= ( const DtAsyncFileDistributorRunnable orig) [private]
void DtAsyncFileDistributorRunnable::postCommand ( std::auto_ptr< DtFedExecDistribFunctor cmd) [virtual]
void DtAsyncFileDistributorRunnable::processPushFedFileToAllFederates ( DtString  name,
int  size,
const char *  buff,
unsigned long  destination 
)
void DtAsyncFileDistributorRunnable::requestFedFileUploadToExec ( const unsigned long  initiatingFedID,
const std::vector< DtString > *  modules 
) [virtual]

Are there outstanding requests to be handled?

Reimplemented from DtFileDistributor.

References DtFileDistributor::myPendingRequests.

bool DtAsyncFileDistributorRunnable::sendFedFile ( const std::vector< DtString > &  modules,
DtFederateHandle  recipient 
) [virtual]

References mySignal.

Referenced by executeCommand().


Member Data Documentation

Referenced by changeCallbackEvents(), and run().

Referenced by executeCommand(), and postCommand().

Referenced by changeCallbackEvents().

Registered event functors.

Referenced by changeCallbackEvents(), and fedFileUploaded().

Referenced by signalFrontEnd().

Referenced by changeCallbackEvents().


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)