8 #include <RTI/RTIambassador.h>
15 #include <vlutil/vlSmartPointers.h>
16 #include <vlutil/vlTime.h>
27 class DtCallResponseMessage;
28 class DtCallbackRequestMessage;
29 class DtHeartbeatResponseMessage;
32 namespace rti1516_2025
34 class FederateAmbassador;
67 static std::string wstringToString(
const std::wstring& wstr);
68 static std::wstring stringToWstring(
const std::string& str);
76 virtual void clearSession();
79 virtual void terminateSession(MAKRti::DtTime waitInterval = 3.0);
82 virtual bool reconnect();
85 virtual bool isConnected()
const;
88 template<
class HandleType>
89 HandleType
const& nameToHandle(std::map<std::wstring, HandleType>
const& handleToNameMap, std::wstring
const& handleName,
90 HandleType
const& invalidHandle)
const;
93 template<
class HandleType>
94 std::wstring
const& handleToName(std::map<HandleType, std::wstring>
const& nameToHandleMap, HandleType
const& handle)
const;
101 virtual rti1516_2025::ObjectInstanceHandle
const& nameToObjectInstanceHandle(std::wstring
const& name)
const;
102 virtual std::wstring
const& objectInstanceHandleToName(rti1516_2025::ObjectInstanceHandle
const& handle)
const;
115 template <
class HandleType>
122 virtual DtFedProHandle& convertToFedProObjectInstanceHandle(rti1516_2025::ObjectInstanceHandle
const& rtiHandle,
DtFedProHandle& fedProHandle)
const;
132 virtual rti1516_2025::ObjectInstanceHandle convertToRtiObjectInstanceHandle(
DtFedProHandle const& fedProHandle)
const;
141 virtual int readAndProcess(MAKRti::DtTime maxTime = 0.0, MAKRti::DtTime minTime = 0.0);
160 MAKRti::DtTime waitInterval);
167 virtual int pollForCallResponse(
unsigned long sequenceNumber, MAKRti::DtTime waitInterval,
171 virtual void updateLastReceived(
unsigned long sequenceNumber);
195 virtual void clearBuffer(
unsigned long lastReceived);
MAKRti::DtTime myHeartbeatTimeout
Definition: rtiAmbassadorFedProBase.h:216
std::map< rti1516_2025::InteractionClassHandle, std::wstring > myInteractionClassHandleToNameMap
Definition: rtiAmbassadorFedProBase.h:235
std::map< unsigned long, bool > myOldestSentMessage
Definition: rtiAmbassadorFedProBase.h:211
rti1516_2025::AttributeHandle myInvalidAttributeHandle
Definition: rtiAmbassadorFedProBase.h:228
rti1516_2025::ObjectInstanceHandle myInvalidObjectInstanceHandle
Definition: rtiAmbassadorFedProBase.h:227
#define DT_DLL_FEDPRO_WRAPPER
Definition: rtiMsConfig.h:158
CallResponseCase
Definition: RTIambassador.pb.h:56943
std::map< unsigned long, FedProSess::DtFedproMessage * > myMessageBuffer
Definition: rtiAmbassadorFedProBase.h:210
Definition: RTIambassador.pb.h:52845
std::map< rti1516_2025::InteractionClassHandle, std::map< rti1516_2025::ParameterHandle, std::wstring > > myParameterHandleToNameMap
Definition: rtiAmbassadorFedProBase.h:237
std::map< rti1516_2025::ObjectClassHandle, std::wstring > myObjectClassHandleToNameMap
Definition: rtiAmbassadorFedProBase.h:233
std::map< std::wstring, rti1516_2025::ObjectInstanceHandle > myObjectInstanceNameToHandleMap
Definition: rtiAmbassadorFedProBase.h:240
std::vector< char > myCallRequestBuffer
Definition: rtiAmbassadorFedProBase.h:224
Base class that provides infrastructure to support exchanging RTI Ambassador service call request mes...
Definition: rtiAmbassadorFedProBase.h:53
FedProSess::DtHeartbeatMessage myHeartbeatMessage
Definition: rtiAmbassadorFedProBase.h:215
friend DtFederateAmbassadorWrapper
Definition: rtiAmbassadorFedProBase.h:200
Definition: callbackRequestMessage.h:21
DtTcpMsgSocket * mySocket
Definition: rtiAmbassadorFedProBase.h:202
Definition: federateAmbassadorWrapper.h:25
ULong InteractionClassHandle
Definition: RTItypes13.h:106
std::map< rti1516_2025::InteractionClassHandle, std::map< std::wstring, rti1516_2025::ParameterHandle > > myParameterNameToHandleMap
Definition: rtiAmbassadorFedProBase.h:243
TransportationType
Definition: rtiAmbassadorFedProBase.h:43
Handle ParameterHandle
Definition: RTItypes13.h:114
Definition: rtiAmbassadorFedProBase.h:46
std::shared_ptr< DtMsgHeaderReader > myHeaderReader
Definition: rtiAmbassadorFedProBase.h:204
const rti1516_2025::ObjectClassHandle myInvalidObjectClassHandle
Definition: rtiAmbassadorFedProBase.h:226
rti1516_2025::fedpro::CallResponse myCallResponse
Definition: rtiAmbassadorFedProBase.h:221
DtFederateAmbassadorWrapper * myFederateAmbassador
Definition: rtiAmbassadorFedProBase.h:245
int myServerPort
Definition: rtiAmbassadorFedProBase.h:203
rti1516_2025::ParameterHandle myInvalidParameterHandle
Definition: rtiAmbassadorFedProBase.h:230
std::map< rti1516_2025::ObjectInstanceHandle, std::wstring > myObjectInstanceHandleToNameMap
Definition: rtiAmbassadorFedProBase.h:234
std::string DtFedProHandle
Definition: rtiAmbassadorFedProBase.h:39
std::queue< FedProSess::DtCallbackRequestMessage * > myCallbackRequestQueue
Definition: rtiAmbassadorFedProBase.h:222
std::map< std::wstring, rti1516_2025::ObjectClassHandle > myObjectClassNameToHandleMap
Definition: rtiAmbassadorFedProBase.h:239
unsigned long myLastReceivedMessageNumber
Definition: rtiAmbassadorFedProBase.h:209
double myHeartbeatTimeoutPeriod
Definition: rtiAmbassadorFedProBase.h:217
The DtTcpMsgSocket class provides an address family independent TCP socket that handles RTI messages...
Definition: tcpMsgSocket.h:40
MAKRti::DtTime myNextHeartbeat
Definition: rtiAmbassadorFedProBase.h:213
Definition: heartbeatResponseMessage.h:11
An abstract base class which must be implemented, and used by a federate.
unsigned long mySessionId
Definition: rtiAmbassadorFedProBase.h:208
ULong FederateHandle
Definition: RTItypes13.h:120
std::map< std::wstring, rti1516_2025::InteractionClassHandle > myInteractionClassNameToHandleMap
Definition: rtiAmbassadorFedProBase.h:241
std::map< rti1516_2025::ObjectClassHandle, std::map< std::wstring, rti1516_2025::AttributeHandle > > myAttributeNameToHandleMap
Definition: rtiAmbassadorFedProBase.h:242
std::map< rti1516_2025::ObjectClassHandle, std::map< rti1516_2025::AttributeHandle, std::wstring > > myAttributeHandleToNameMap
Definition: rtiAmbassadorFedProBase.h:236
Definition: callResponseMessage.h:21
double myHeartbeatInterval
Definition: rtiAmbassadorFedProBase.h:214
rti1516_2025::fedpro::CallResponse::CallResponseCase myExpectedResponseType
Definition: rtiAmbassadorFedProBase.h:219
MessageType
Definition: fedproMessage.h:22
ULong ObjectClassHandle
Definition: RTItypes13.h:104
std::set< unsigned long > myReceivedNumbers
Definition: rtiAmbassadorFedProBase.h:212
Definition: rtiAmbassadorFedProBase.h:45
rti1516_2025::InteractionClassHandle myInvalidInteractionClassHandle
Definition: rtiAmbassadorFedProBase.h:229
Definition: heartbeatMessage.h:11
Definition: fedproMessage.h:18
Definition: RTIambassador.pb.h:56904
Handle AttributeHandle
Definition: RTItypes13.h:112
const std::wstring myUknownName
Definition: rtiAmbassadorFedProBase.h:231
unsigned long mySequenceNumber
Definition: rtiAmbassadorFedProBase.h:207
bool myQueueCallbackRequests
Definition: rtiAmbassadorFedProBase.h:223
unsigned long myExpectedResponseRequestNumber
Definition: rtiAmbassadorFedProBase.h:220
MAKRti::DtClock myClock
Definition: rtiAmbassadorFedProBase.h:205