MAK RTIspy API Documentation for HLA Evolved
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtPartnerMgr Class Reference

Instances of DtPartnerMgr process partner messages to establish federate partners in an unlicensed federation execution. More...

+ Collaboration diagram for DtPartnerMgr:

List of all members.

Public Member Functions

 DtPartnerMgr (DtConnectionMgr *connectMgr)
 Constructor.
 ~DtPartnerMgr ()
 Destructor.
virtual void joinFederationExecution (const char *federateType, const char *executionName, const char *federateName, unsigned long flags)
 Start up partner management.
virtual void resign ()
 Shut down partner management.
virtual bool acceptMessage (const DtRtiMsg &msg)
 Return boolean: message should be accepted?

Protected Member Functions

virtual void sendJoinMessage (MAKRti::DtString federateType, MAKRti::DtString fedexName, MAKRti::DtString federateName)
 Send a lightweight join message.
virtual void sendPartnerMessage (DtFederateHandle partnerFederate, DtPartnerResponse response)
 Send a partner response message.
virtual void processOtherMessage (DtRtiMsg const &msg)
 Process all other messages.
virtual void processResignMessage (const DtResignMsg &msg)
 Process resign message.
virtual void processPartnerMessage (const DtPartnerFederateMsg &msg)
 Partner federate message callback.
virtual void processPartnerAccept (const DtPartnerFederateMsg &msg)
 Process partner federate message callback for accept response.
virtual void processPartnerConfirm (const DtPartnerFederateMsg &msg)
 Process partner federate message callback for confirm response.
virtual void processPartnerReject (const DtPartnerFederateMsg &msg)
 Process partner federate message callback for reject response.
virtual bool partnerSlotAvailable () const
 Return boolean: Is a partner slot available?
virtual bool waitingForConfirm () const
 Return boolean: Is there any partner that needs to be confirmed?
virtual bool isPartner (DtFederateHandle federate) const
 Return boolean: Is the given federate a partner?
virtual bool isPending (DtFederateHandle federate) const
 Return boolean: Is the given federate a pending partner? (false if not a partner or partner but confirmed)
virtual bool isConfirmed (DtFederateHandle federate) const
 Return boolean: Is the given federate a confirmed partner? (false if not a partner or partner but pending)
virtual void acceptPartner (DtFederateHandle federate, bool confirmed=false)
 Accept the given federate as a partner. Partner may either be pending or confirmed.
virtual void confirmPartner (DtFederateHandle federate)
 Change the status of a partner to confirmed.
virtual void removePartner (DtFederateHandle federate)
 Remove the given federate as a partner.
virtual void removePendingPartner (DtFederateHandle federate)
 Remove the given federate as a pending partner.
virtual void removeConfirmedPartner (DtFederateHandle federate)
 Remove the given federate as a confirmed partner.
virtual bool isMe (DtFederateHandle federate) const
 Return boolean: given federate handle is mine.
virtual DtFederateHandle federateHandle () const
 Return federate handle.

Protected Attributes

DtConnectionMgrmyConnectMgr
 Access to connection manager.
bool myIsJoined
 Join status.
DtPartnerState myPartnerState
 Partnering acceptance/confirm state.
std::vector< DtFederateHandlemyPartners
 List of partners.
std::vector< DtFederateHandlemyPendingPartners
 List of pending partners.
std::vector< DtFederateHandlemyConfirmedPartners
 List of confirmed partners.
DtFederateHandleStdSet myFilteredFederates
 List of license opposites that are being filtered.

Private Member Functions

 DtPartnerMgr (DtPartnerMgr const &)
 Copy Constructor not implemented -- Copy Not Allowed!
DtPartnerMgroperator= (DtPartnerMgr const &)
 Assignment not implemented -- Assignment Not Allowed!

Detailed Description

Instances of DtPartnerMgr process partner messages to establish federate partners in an unlicensed federation execution.


Constructor & Destructor Documentation

Constructor.

References DtMAX_PARTNERS, and DtUseFedObservers.

Destructor.

DtPartnerMgr::DtPartnerMgr ( DtPartnerMgr const &  ) [private]

Copy Constructor not implemented -- Copy Not Allowed!


Member Function Documentation

bool DtPartnerMgr::acceptMessage ( const DtRtiMsg msg) [virtual]
void DtPartnerMgr::acceptPartner ( DtFederateHandle  federate,
bool  confirmed = false 
) [protected, virtual]

Accept the given federate as a partner. Partner may either be pending or confirmed.

References DtUseFedObservers, isConfirmed(), isPartner(), isPending(), myConfirmedPartners, myPartners, myPendingPartners, removeConfirmedPartner(), and removePendingPartner().

Referenced by confirmPartner(), processOtherMessage(), and processPartnerAccept().

void DtPartnerMgr::confirmPartner ( DtFederateHandle  federate) [protected, virtual]

Change the status of a partner to confirmed.

References acceptPartner(), isConfirmed(), and isPending().

Referenced by processPartnerConfirm().

DtFederateHandle DtPartnerMgr::federateHandle ( ) const [protected, virtual]

Return federate handle.

References DtConnectionMgr::fedHandle(), and myConnectMgr.

Referenced by isMe().

bool DtPartnerMgr::isConfirmed ( DtFederateHandle  federate) const [protected, virtual]

Return boolean: Is the given federate a confirmed partner? (false if not a partner or partner but pending)

References myConfirmedPartners.

Referenced by acceptPartner(), and confirmPartner().

bool DtPartnerMgr::isMe ( DtFederateHandle  federate) const [protected, virtual]

Return boolean: given federate handle is mine.

References federateHandle().

Referenced by processOtherMessage(), processPartnerAccept(), processPartnerConfirm(), processPartnerMessage(), and processPartnerReject().

bool DtPartnerMgr::isPartner ( DtFederateHandle  federate) const [protected, virtual]

Return boolean: Is the given federate a partner?

References myPartners.

Referenced by acceptMessage(), acceptPartner(), processOtherMessage(), processPartnerAccept(), processPartnerConfirm(), and processResignMessage().

bool DtPartnerMgr::isPending ( DtFederateHandle  federate) const [protected, virtual]

Return boolean: Is the given federate a pending partner? (false if not a partner or partner but confirmed)

References myPendingPartners.

Referenced by acceptPartner(), and confirmPartner().

void DtPartnerMgr::joinFederationExecution ( const char *  federateType,
const char *  executionName,
const char *  federateName,
unsigned long  flags 
) [virtual]
DtPartnerMgr& DtPartnerMgr::operator= ( DtPartnerMgr const &  ) [private]

Assignment not implemented -- Assignment Not Allowed!

bool DtPartnerMgr::partnerSlotAvailable ( ) const [protected, virtual]

Return boolean: Is a partner slot available?

References DtUseFedObservers, and myPartners.

Referenced by processOtherMessage(), processPartnerAccept(), processPartnerConfirm(), and processResignMessage().

void DtPartnerMgr::processOtherMessage ( DtRtiMsg const &  msg) [protected, virtual]
void DtPartnerMgr::processPartnerAccept ( const DtPartnerFederateMsg msg) [protected, virtual]
void DtPartnerMgr::processPartnerConfirm ( const DtPartnerFederateMsg msg) [protected, virtual]
void DtPartnerMgr::processPartnerMessage ( const DtPartnerFederateMsg msg) [protected, virtual]
void DtPartnerMgr::processPartnerReject ( const DtPartnerFederateMsg msg) [protected, virtual]
void DtPartnerMgr::processResignMessage ( const DtResignMsg msg) [protected, virtual]
void DtPartnerMgr::removeConfirmedPartner ( DtFederateHandle  federate) [protected, virtual]

Remove the given federate as a confirmed partner.

noop if federate was not confirmed.

References myConfirmedPartners.

Referenced by acceptPartner(), and removePartner().

void DtPartnerMgr::removePartner ( DtFederateHandle  federate) [protected, virtual]

Remove the given federate as a partner.

noop if federate was not partner.

References myPartners, removeConfirmedPartner(), and removePendingPartner().

Referenced by processResignMessage().

void DtPartnerMgr::removePendingPartner ( DtFederateHandle  federate) [protected, virtual]

Remove the given federate as a pending partner.

noop if federate was not pending.

References myPendingPartners.

Referenced by acceptPartner(), and removePartner().

void DtPartnerMgr::resign ( ) [virtual]
void DtPartnerMgr::sendJoinMessage ( MAKRti::DtString  federateType,
MAKRti::DtString  fedexName,
MAKRti::DtString  federateName 
) [protected, virtual]
void DtPartnerMgr::sendPartnerMessage ( DtFederateHandle  partnerFederate,
DtPartnerResponse  response 
) [protected, virtual]
bool DtPartnerMgr::waitingForConfirm ( ) const [protected, virtual]

Return boolean: Is there any partner that needs to be confirmed?

References DtUseFedObservers, and myConfirmedPartners.

Referenced by processPartnerAccept(), and processPartnerConfirm().


Member Data Documentation

List of confirmed partners.

Referenced by acceptPartner(), isConfirmed(), removeConfirmedPartner(), resign(), and waitingForConfirm().

List of license opposites that are being filtered.

Referenced by acceptMessage().

Join status.

Referenced by acceptMessage(), joinFederationExecution(), and resign().

std::vector<DtFederateHandle> DtPartnerMgr::myPartners [protected]

List of pending partners.

Referenced by acceptPartner(), isPending(), removePendingPartner(), and resign().


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)