12 #ifndef DtSmConnectionMgr_H_
13 #define DtSmConnectionMgr_H_
17 #include <vlutil/vlFilename.h>
19 #define DtSmDEFAULT_SHARED_MEM_NAME "DtRtiSharedMessages"
38 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient =
39 DtBoost::shared_ptr<DtRtiAssistantLrcClient>());
48 virtual void initQMgr(DtU32 numBuckets, DtU32 payloadSize,
bool reliable,
49 bool forceMgrSubscribe);
56 MAKRti::DtTransportType transport,
57 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny());
68 MAKRti::DtTransportType trans );
82 virtual DtRtiMsg* getMessageWithNetInfo(MAKRti::DtInetAddr *addr, MAKRti::DtTransportType *trans,
83 DtU32 *priority = NULL);
84 virtual MAKRti::DtInetAddr getLastDestAddr()
const;
85 virtual MAKRti::DtTransportType getLastTransportType()
const;
92 #elif defined(DtIFSPEC1516E)
103 #elif defined(DtIFSPEC1516E)
106 virtual WSAEVENT readFileEvent(RTI::TransportType transport);
119 virtual bool sm_shutdown(
bool ruthless =
false);
129 const MAKRti::DtInetAddr& netInterface = MAKRti::DtInetAddr::inaddrAny());
131 const MAKRti::DtInetAddr& netInterface = MAKRti::DtInetAddr::inaddrAny());
133 const MAKRti::DtInetAddr& netInterface = MAKRti::DtInetAddr::inaddrAny());
140 rti1516::FederateAmbassador* fedAmb,
141 #elif defined(DtIFSPEC1516E)
144 RTI::FederateAmbassador* fedAmb,
147 MAKRti::DtString fedExName,
162 virtual bool wait(MAKRti::DtTime period = 0.0,
bool unlockWhileWaiting =
false);
166 virtual int subscriberCount()
const;
176 virtual void startSharedMemMgr();
185 virtual bool createSharedMemConn();
193 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient =
194 DtBoost::shared_ptr<DtRtiAssistantLrcClient>());
203 DtU32 payloadSize,
bool queueReliable,
204 bool forceMgrSubscribe,
205 bool isFederate =
false,
206 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient =
207 DtBoost::shared_ptr<DtRtiAssistantLrcClient>(),
virtual void setMsgFactory(DtRtiMsgFactory *fact)
Get/Set the message factory.
virtual bool processConnections()
Check all the connections and process any incomming messages Return boolean: message was received...
virtual DtRtiMsg * getMessage()
Get a message if one exists Message must be destroyed by caller.
DtU32 myReadMask
should only be used by queue manager
Definition: smConMgr.h:221
bool myQueueReliable
number of bytes available in each message slot
Definition: smConMgr.h:219
MAKRti::DtString mySharedMemName
Definition: smConMgr.h:212
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
This class represents a network connection with another RTI component.
Definition: connection.h:38
This file contains the declaration of the Connection Manager.
virtual int send(const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
Sending.
virtual void disconnectFederation()
The LRC disassociates its connections from the federation.
virtual bool flush()
Send buffered messages.
virtual void dropMulticastGroup(const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement...
bool myForceSubscribe
indicates shared mem queue in reliable mode
Definition: smConMgr.h:220
DtRtiShmQNetMgr * mySharedMemNetMgr
Definition: smConMgr.h:213
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
DtHandle DtFederateHandle
Definition: internalTypes.h:29
virtual bool repairFederationConnection()
Attempt to re-establish a broken connection to the federation Returns true if successful.
virtual void listenToMulticastGroup(const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement...
The DtRtiShmQNetMgr class implements a network I/O socket manager to filter and exchange messages bet...
Definition: rtiShmQNetMgr.h:40
MAKRti::DtTransportType myLastTransportType
Definition: smConMgr.h:228
Definition: smConnection.h:23
The DtMessageFactory template can be instantiated to declare a message factory for a given message cl...
Definition: messageFactory.h:33
virtual bool setupSelectParams(DtSelectParam *params)
adds Read File descriptors to a DtSelectParams Return boolean: file descriptor was added...
virtual int readFileDescriptor(RTI::TransportType transport)
Returns a file descriptor on which data will be present for the given transport type whenever there i...
DtSmRtiConnection * mySharedMemConn
Definition: smConMgr.h:211
DtU32 myPayloadSize
number of message slots in shared memory queue
Definition: smConMgr.h:218
DtU32 myNumBuckets
indicates this is the queue manager
Definition: smConMgr.h:217
bool myIsQueueManager
These members are specific to the queue manager's connection manager.
Definition: smConMgr.h:216
virtual int initConnections()
Initialize the RTI's exercise connections Users who wish to override the MAK RTI's network connection...
virtual void forceDropMulticastGroup(const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
Override listen count and force drop multicast address.
MAKRti::DtInetAddr myLastDestAddr
controls what type of messages are read/skipped
Definition: smConMgr.h:227
virtual bool processConnection(DtRtiConnection *conn, MAKRti::DtTransportType trans)
Read from the given connection and process the message (if received) Return boolean: message was rece...
An abstract base class which must be implemented, and used by a federate.
Definition: FederateAmbassador.h:32
virtual void connectFederation(DtLogicalTimeFactory *logicalTimeFactoryPtr, MAKRti::DtString fedExName, DtFederateHandle federateHandle, int fedExHandle)
The LRC associates its federation information with its network connections.
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
TransportationType
Definition: Enums.h:97
virtual DtRtiMsg * create(DtRtiMsgKind kind)
Request the RTI message factory for a msg.
virtual bool wait(MAKRti::DtTime periodInSeconds, bool unlockWhileWaiting=false)
Wait for data to be ready or the given period of time to expire Return boolean: data is ready for rea...
Instances of DtSmConnectionMgr manage the communication objects that the RTI will use to communicate ...
Definition: smConMgr.h:33