22 #ifdef DtUSE_UTILITIES_NAMESPACE
23 namespace DtUSE_UTILITIES_NAMESPACE
27 #define DtDEFAULT_DIS_PORT 3000
29 #define DtDIS_HEADER_PROTOCOL_VERSION_BYTE_OFFSET 0
30 #define DtDIS_HEADER_EXERCISE_IDENTIFIER_BYTE_OFFSET 1
31 #define DtDIS_HEADER_PDU_TYPE_BYTE_OFFSET 2
32 #define DtDIS_HEADER_PROTOCOL_FAMILY_BYTE_OFFSET 3
33 #define DtDIS_HEADER_TIMESTAMP_BYTE_OFFSET 4
34 #define DtDIS_HEADER_LENGTH_BYTE_OFFSET 8
35 #define DtDIS_HEADER_PDU_STATUS_BYTE_OFFSET 10
38 #define DtDIS_HEADER_CEI_QUERY_MASK 0x8
53 virtual void extendTest(
int n,
DtU32 *values);
54 virtual void reduceTest(
int n,
DtU32 *values);
60 virtual void clearList();
97 bool immediateOpen =
true,
98 bool suppressSelfReflectEnabled =
false );
109 virtual bool openSocket();
117 virtual bool closeSocket();
124 virtual int send( caddr_t packet,
size_t size,
DtU32 flags = 0 );
126 virtual int sendTo( caddr_t packet,
size_t size,
151 virtual void removeDestination(
const DtInetEndpoint& destination);
159 virtual bool setSendSockNonBlockingOption(
bool onOrOff );
160 virtual bool setSendSockSendBuffSize(
DtU32 size );
161 virtual bool setSendSockRcvBuffSize(
DtU32 size );
162 virtual bool setSendSockBroadcastOption(
bool onOrOff );
163 virtual bool setSendSockReuseAddrOption(
bool onOrOff );
164 virtual bool setSendSockDoNotRouteOption(
bool onOrOff );
165 virtual bool setSendSockSendLowWatermark(
DtU32 size );
166 virtual bool setSendSockRcvLowWatermark(
DtU32 size );
167 virtual bool setSendSockMcastDevice(
DtInetAddr devAddr );
168 virtual bool setSendSockMcastDevice(
DtInetDevice* hostIf );
170 virtual DtU32 getSendSockSendBuffSize();
171 virtual DtU32 getSendSockRcvBuffSize();
172 virtual DtU32 getSendSockBytesAvailable();
173 virtual bool getSendSockBroadcastOption();
174 virtual bool getSendSockReuseAddrOption();
175 virtual bool getSendSockDoNotRouteOption();
176 virtual DtU32 getSendSockSendLowWatermark();
177 virtual DtU32 getSendSockRcvLowWatermark();
188 virtual bool sendSockJoinMulticastGroup(
DtInetAddr grpAddr,
190 virtual bool sendSockJoinMulticastGroup(
DtInetEndpoint grpEndpoint,
192 virtual bool sendSockDropMulticastGroup(
DtInetAddr grpAddr,
194 virtual bool sendSockDropMulticastGroup(
DtInetEndpoint grpEndpoint,
198 virtual bool setSendSockMcastTtlOption(
DtU32 ttl );
212 virtual void setBundling(
int maxBundleSize,
int sizeOffset,
int sizeLength,
213 bool testDisHeader );
221 virtual bool setMaxBundleSize(
int size );
222 virtual int getMaxBundleSize();
223 virtual bool isBundling();
230 virtual void setMinPacketSize(
int size );
231 virtual int minPacketSize();
236 virtual void setBundleByteAlignment(
DtU32 size );
237 virtual DtU32 sendBundleByteAlignment();
239 virtual DtU32 receiveBundleByteAlignment(
int protocolVersion);
284 virtual void* disSendSocket();
308 static int suppressSelfReflect(
DtInetSocket* sock,
int size,
314 static int filterExercisePdus(
DtInetSocket* sock,
int size,
326 int hdrOffset, DtInetBufferChain::iterator current,
327 DtInetBufferChain::iterator end,
int* status,
bool& isCoupling,
bool expectAttributePdu =
false);
331 int hdrOffset, DtInetBufferChain::iterator current,
332 DtInetBufferChain::iterator end,
int* status,
int pduLengthAndPadding );
336 virtual DtInetBufferChain::iterator advanceToOffset(
DtU16& offset,
337 DtInetBufferChain::iterator chainIter, DtInetBufferChain::iterator chainEnd);
347 friend class DtDisSockPimpl;
397 return &myExerciseFilter;
402 return &myVersionFilter;
407 return &myKindFilter;
412 return &myAddrFilter;
416 #ifdef DtUSE_UTILITIES_NAMESPACE