18 #ifndef DtVrfMessageInterface_H_
19 #define DtVrfMessageInterface_H_
21 #include <vlutil/vlMachineTypes.h>
22 #include <vlpi/disEnums.h>
26 #include <vlutil/vlUtil.h>
27 #include <vl/dataInter.h>
51 bool useDefaultInterfaceFactory =
true);
61 virtual bool createMessageExecutive();
64 virtual void createSplitMessageCollector();
73 virtual bool createAndDeliverMessage(
74 const DtSimulationAddress& recipient,
76 bool overrideTimestampOrder =
true);
80 virtual bool createAndDeliverMessage(
const DtSimulationAddress& sender,
81 const DtSimulationAddress& recipient,
86 virtual bool getContentFromNet(DtDataInteraction* dataInter,
89 virtual bool getContentFromNet(
unsigned nBufferSize,
91 const char* pContentBuffer,
94 virtual bool setContentForNet(DtDataInteraction* dataInter,
98 virtual void setSequence(DtU32 num);
99 virtual DtU32 sequence()
const;
102 virtual void setSessionId(DtU32 num);
103 virtual DtU32 sessionId()
const;
106 virtual void setVrfMessageVersionSupported(DtU32 num);
107 virtual DtU32 vrfMessageVersionSupported()
const;
122 virtual bool isMessageVrfVersionSupported(DtDataInteraction*)
const;
130 virtual bool isVrfMessageVersionTransparentMessageType(
int messageType)
const;
134 virtual bool isSessionTransparentMessageType(
int messageType);
137 virtual DtExerciseConn* exerciseConn();
140 virtual void clearExerciseConn();
151 virtual const DtSimulationAddress& messageAddress()
const;
154 virtual void receiveMessage(DtDataInteraction* dataInter);
177 virtual bool sendSplitContent(
const char* pContentBuffer,
178 unsigned int nBufferSize,
180 const DtSimulationAddress& sender,
181 const DtSimulationAddress& recipient,
186 virtual bool sendSplitContent(
const char* pContentBuffer,
187 unsigned int nBufferSize,
189 const DtSimulationAddress& sender,
190 const DtSimulationAddress& recipient);
202 virtual void processReceiveMessageQueue();
205 virtual void setQueueMessages(
bool);
206 virtual bool queueMessages()
const;
211 virtual void processReassembledContent(
const char* pContent,
214 const DtSimulationAddress& messageIdSender,
216 const DtSimulationAddress& recipient);
219 static void netMessageCallback(DtDataInteraction* dataInter,
239 static bool matchPattern(
const DtSimulationAddress& address,
240 const DtSimulationAddress& pattern);
244 static void postDrainCallback(
void* usr);
292 DtInfo(
"Setting SessionId to %d\n", num);
313 int messageType)
const