MAK Legion API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Attributes | List of all members
Legion::Connection Class Reference
+ Collaboration diagram for Legion::Connection:

Public Member Functions

 Connection (const SimulationDatabase &db, const Configuration &config)
 
virtual ~Connection ()
 
virtual ConnectionHandle handle ()
 
virtual bool isConnected ()
 
virtual void startProcessingMessages (double maxProcessingTime=0.0)
 Tell connection to start processing messages (updates applied to database next state). More...
 
virtual void stopProcessingMessages ()
 This tells the connection it should stop processing messages immediately, even if there are messages in the queue to process or time remaining. More...
 
virtual void waitUntilDoneProcessingMessages ()
 Wait for message processing to complete. More...
 
virtual UInt32 clientId ()
 
virtual void setInterest (const Boundary &boundary)
 Set an interest filter. More...
 
virtual void removeInterest ()
 Remove the interest filter (interested in everything) More...
 
virtual std::unique_ptr< Boundaryinterest () const
 Return the interest filter if it exist; otherwise, NULL. More...
 
virtual void setIntent (const Boundary &boundary)
 Set an intent filter. More...
 
virtual void removeIntent ()
 Remove the intent filter (satisfy every interest) More...
 
virtual std::unique_ptr< Boundaryintent () const
 Return the intent filter if it exist; otherwise, NULL. More...
 
virtual OwnershipManagerownershipManager ()
 Return the ownership manager. More...
 
virtual void setAttributeSetInterest (const UInt32 attrSetType=ALL_ATTRIBUTE_SETS)
 Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested. More...
 
virtual void addAttributeSetInterest (const UInt32 attrSetType=ALL_ATTRIBUTE_SETS)
 Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested. More...
 
virtual void removeAttributeSetInterest (const UInt32 attrSetType=ALL_ATTRIBUTE_SETS)
 Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested. More...
 

Protected Attributes

ConnectionHandle myHandle
 
OwnershipManagermyOwnershipManager
 

Constructor & Destructor Documentation

Legion::Connection::Connection ( const SimulationDatabase db,
const Configuration config 
)
virtual Legion::Connection::~Connection ( )
virtual

Member Function Documentation

virtual void Legion::Connection::addAttributeSetInterest ( const UInt32  attrSetType = ALL_ATTRIBUTE_SETS)
virtual

Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested.

virtual UInt32 Legion::Connection::clientId ( )
virtual

Referenced by createEntity(), and main().

virtual ConnectionHandle Legion::Connection::handle ( )
inlinevirtual
virtual std::unique_ptr<Boundary> Legion::Connection::intent ( ) const
virtual

Return the intent filter if it exist; otherwise, NULL.

virtual std::unique_ptr<Boundary> Legion::Connection::interest ( ) const
virtual

Return the interest filter if it exist; otherwise, NULL.

virtual bool Legion::Connection::isConnected ( )
virtual

Referenced by main().

virtual OwnershipManager* Legion::Connection::ownershipManager ( )
virtual

Return the ownership manager.

Referenced by main().

virtual void Legion::Connection::removeAttributeSetInterest ( const UInt32  attrSetType = ALL_ATTRIBUTE_SETS)
virtual

Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested.

virtual void Legion::Connection::removeIntent ( )
virtual

Remove the intent filter (satisfy every interest)

virtual void Legion::Connection::removeInterest ( )
virtual

Remove the interest filter (interested in everything)

virtual void Legion::Connection::setAttributeSetInterest ( const UInt32  attrSetType = ALL_ATTRIBUTE_SETS)
virtual

Set/Add/Remove single interested AttributeSet By default, attrSetType = ALL_SET, means that all AttributeSet are interested.

Referenced by main().

virtual void Legion::Connection::setIntent ( const Boundary boundary)
virtual

Set an intent filter.

Referenced by main().

virtual void Legion::Connection::setInterest ( const Boundary boundary)
virtual

Set an interest filter.

Referenced by main().

virtual void Legion::Connection::startProcessingMessages ( double  maxProcessingTime = 0.0)
virtual

Tell connection to start processing messages (updates applied to database next state).

This will deliver messages to the database to update entities, and deliver events. If maxProcessingTime is set, the connection will only process messages until the time expires, otherwise the user will need to explicitly call stopProcessingMessages. IMPORTANT: This can only be called after database->beginFrame() has been called and is an error to call outside of a frame

Referenced by main().

virtual void Legion::Connection::stopProcessingMessages ( )
virtual

This tells the connection it should stop processing messages immediately, even if there are messages in the queue to process or time remaining.

The user still needs to call waitUntilDoneProcessingMessages to block until any in-flight messages are finished. IMPORTANT: This must be called before the database->endFrame is called. It is an error to all outside of a frame

virtual void Legion::Connection::waitUntilDoneProcessingMessages ( )
virtual

Wait for message processing to complete.

This will block until messages are no longer being processed. IMPORTANT: This must be called before the database->endFrame is called. It is an error to all outside of a frame

Referenced by main().

Member Data Documentation

ConnectionHandle Legion::Connection::myHandle
protected
OwnershipManager* Legion::Connection::myOwnershipManager
protected

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

Document ID: Generated on Mon Mar 8 15:11:30 EST 2021 from SVN revision 225633
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)