![]() |
MAK RTIspy API Documentation for HLA 1.3
|
Inheritance diagram for DtSmRtiConnection:
Collaboration diagram for DtSmRtiConnection:Public Member Functions | |
| DtSmRtiConnection (DtRtiSmSocket *socket) | |
| Constructors. | |
| virtual | ~DtSmRtiConnection () |
| Destructor. | |
| virtual int | send (const DtRtiMsg &msg, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny()) |
| Override DtConnection send method and assert if invoked. | |
| virtual int | send (const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny(), unsigned int priority=0) |
| Send a message. Non-blocking. | |
| virtual bool | flush () |
| Send buffered messages. | |
| virtual int | getMessageNetInfo (MAKRti::DtInetAddr *addr, MAKRti::DtTransportType *trans, DtU32 *priority=NULL) |
| This method returns the size of the next available message in the shared memory queue along with additional information (e.g. | |
| virtual bool | isReliable () |
| Return true if the queue is in reliable delivery mode. | |
| virtual int | waitForMessages (MAKRti::DtTime waitTime=0.0) |
| Wait (block) for the specified time until a message can be read. | |
| virtual int | waitUntilFull (MAKRti::DtTime waitTime=0.0) |
| Wait (block) for the specified time until the shared memory is full. | |
| virtual bool | sm_shutdown (bool ruthless=false) |
| Attempt to shutdown the queue. | |
| virtual int | subscriberCount () const |
| Return count of subscribers connected to the shared memory queue. | |
Protected Types | |
| typedef std::list< DtRtiMsg * > | DtOutboundPendingList |
| for reliable connections only | |
Protected Attributes | |
| DtRtiSmSocket * | mySmSocket |
| DtOutboundPendingList | myObPendingMessages |
typedef std::list< DtRtiMsg* > DtSmRtiConnection::DtOutboundPendingList [protected] |
for reliable connections only
| DtSmRtiConnection::DtSmRtiConnection | ( | DtRtiSmSocket * | socket | ) |
Constructors.
| DtSmRtiConnection::~DtSmRtiConnection | ( | ) | [virtual] |
Destructor.
| bool DtSmRtiConnection::flush | ( | ) | [virtual] |
Send buffered messages.
Returns indication of whether the flush is complete or incomplete.
Reimplemented from DtRtiConnection.
References DtSMQ_MSG_BESTEFFORT, DtSMQ_MSG_RELIABLE, DtRtiSmSocket::flush(), myObPendingMessages, mySmSocket, and DtRtiSmSocket::sendMessage().
Referenced by DtSmConnectionMgr::processConnections().
| int DtSmRtiConnection::getMessageNetInfo | ( | MAKRti::DtInetAddr * | addr, |
| MAKRti::DtTransportType * | trans, | ||
| DtU32 * | priority = NULL |
||
| ) | [virtual] |
This method returns the size of the next available message in the shared memory queue along with additional information (e.g.
destination address, transport method, and priority) needed by a forwarder or shared memory queue manager net I/O handler to pass messages to a network.
References DtSMQ_MSG_RELIABLE, DtSMQ_PRIO_MASK, DtRtiSmSocket::getMsgTransportInfo(), and mySmSocket.
| bool DtSmRtiConnection::isReliable | ( | ) | [virtual] |
Return true if the queue is in reliable delivery mode.
References mySmSocket, and DtRtiSmSocket::queueIsReliable().
Referenced by DtSmConnectionMgr::send().
| int DtSmRtiConnection::send | ( | const DtRtiMsg & | msg, |
| const MAKRti::DtInetAddr & | addr = MAKRti::DtInetAddr::inaddrAny() |
||
| ) | [virtual] |
Override DtConnection send method and assert if invoked.
Shared memory connections require the additional transport parameter at a minimum so the shared memory queue manager can forward message via the appropriate net I/O socket
Reimplemented from DtRtiConnection.
Referenced by DtSmConnectionMgr::send().
| int DtSmRtiConnection::send | ( | const DtRtiMsg & | msg, |
| MAKRti::DtTransportType | transport, | ||
| const MAKRti::DtInetAddr & | addr = MAKRti::DtInetAddr::inaddrAny(), |
||
| unsigned int | priority = 0 |
||
| ) | [virtual] |
Send a message. Non-blocking.
References DtRtiMsg::cloneWithTransport(), DtSMQ_MSG_BESTEFFORT, DtSMQ_MSG_RELIABLE, DtSMQ_PRIO_MASK, DtUseFedObservers, DtNetMsgHeader::flags, DtSmSocket__rti__::isOpen(), myObPendingMessages, mySmSocket, DtRtiMsg::netHeader(), DtRtiSmSocket::queueIsReliable(), and DtRtiSmSocket::sendMessage().
| bool DtSmRtiConnection::sm_shutdown | ( | bool | ruthless = false | ) | [virtual] |
Attempt to shutdown the queue.
This should only be invoked by the queue manager before destroying the shared memory pool.
References mySmSocket, and DtSmSocket__rti__::shutdownQueue().
Referenced by DtSmConnectionMgr::sm_shutdown().
| int DtSmRtiConnection::subscriberCount | ( | ) | const [virtual] |
Return count of subscribers connected to the shared memory queue.
References mySmSocket, and DtSmSocket__rti__::subscriberCount().
Referenced by DtSmConnectionMgr::subscriberCount().
| int DtSmRtiConnection::waitForMessages | ( | MAKRti::DtTime | waitTime = 0.0 | ) | [virtual] |
Wait (block) for the specified time until a message can be read.
Return status: 0 if messages are ready, > 0 if wait expired, or < 0 if error
References mySmSocket, and DtRtiSmSocket::waitForMessages().
Referenced by DtSmConnectionMgr::wait().
| int DtSmRtiConnection::waitUntilFull | ( | MAKRti::DtTime | waitTime = 0.0 | ) | [virtual] |
Wait (block) for the specified time until the shared memory is full.
Return status: 0 if full, > 0 if wait expired, or < 0 if error
References mySmSocket, and DtRtiSmSocket::waitUntilFull().
DtRtiSmSocket* DtSmRtiConnection::mySmSocket [protected] |
Referenced by flush(), getMessageNetInfo(), isReliable(), send(), sm_shutdown(), subscriberCount(), waitForMessages(), and waitUntilFull().