27 #ifdef DtUSE_UTILITIES_NAMESPACE
28 namespace DtUSE_UTILITIES_NAMESPACE
32 #define DtDEFAULT_DIS_PORT 3000
34 #define DtDIS_HEADER_PROTOCOL_VERSION_BYTE_OFFSET 0
35 #define DtDIS_HEADER_EXERCISE_IDENTIFIER_BYTE_OFFSET 1
36 #define DtDIS_HEADER_PDU_TYPE_BYTE_OFFSET 2
37 #define DtDIS_HEADER_PROTOCOL_FAMILY_BYTE_OFFSET 3
38 #define DtDIS_HEADER_TIMESTAMP_BYTE_OFFSET 4
39 #define DtDIS_HEADER_LENGTH_BYTE_OFFSET 8
40 #define DtDIS_HEADER_PDU_STATUS_BYTE_OFFSET 10
43 #define DtDIS_HEADER_CEI_QUERY_MASK 0x8
58 virtual void extendTest(
int n,
DtU32 *values);
59 virtual void reduceTest(
int n,
DtU32 *values);
65 virtual void clearList();
102 bool immediateOpen =
true,
103 bool suppressSelfReflectEnabled =
false );
114 virtual bool openSocket();
122 virtual bool closeSocket();
129 virtual int send( caddr_t packet,
size_t size,
DtU32 flags = 0 );
131 virtual int sendTo( caddr_t packet,
size_t size,
156 virtual void removeDestination(
const DtInetEndpoint& destination);
163 virtual bool setNonBlockingOption(
bool onOrOff );
164 virtual bool setSendBufferSize(
DtU32 size );
165 virtual bool setReceiveBufferSize(
DtU32 size );
166 virtual bool setBroadcastOption(
bool onOrOff );
167 virtual bool setReuseAddressOption(
bool onOrOff );
168 virtual bool setDoNotRouteOption(
bool onOrOff );
169 virtual bool setSendLowWatermark(
DtU32 size );
170 virtual bool setReceiveLowWatermark(
DtU32 size );
171 virtual bool setSendMcastDevice(
const DtInetAddr& devAddr );
172 virtual bool setMcastTtlOption(
DtU32 ttl );
203 virtual void setBundling(
int maxBundleSize,
int sizeOffset,
int sizeLength,
204 bool testDisHeader );
212 virtual bool setMaxBundleSize(
int size );
213 virtual int getMaxBundleSize();
214 virtual bool isBundling();
221 virtual void setMinPacketSize(
int size );
222 virtual int minPacketSize();
227 virtual void setBundleByteAlignment(
DtU32 size );
228 virtual DtU32 sendBundleByteAlignment();
230 virtual DtU32 receiveBundleByteAlignment(
int protocolVersion);
279 virtual void* disSendSocket();
303 static int suppressSelfReflect(
DtInetSocket* sock,
int size,
309 static int filterExercisePdus(
DtInetSocket* sock,
int size,
321 int hdrOffset, DtInetBufferChain::iterator current,
322 DtInetBufferChain::iterator end,
int* status,
bool& isCoupling,
bool expectAttributePdu =
false);
326 int hdrOffset, DtInetBufferChain::iterator current,
327 DtInetBufferChain::iterator end,
int* status,
int pduLengthAndPadding,
unsigned int size);
331 virtual DtInetBufferChain::iterator advanceToOffset(
DtU16& offset,
332 DtInetBufferChain::iterator chainIter, DtInetBufferChain::iterator chainEnd);
341 friend class DtDisSockPimpl;
395 return &myExerciseFilter;
400 return &myVersionFilter;
405 return &myKindFilter;
410 return &myAddrFilter;
414 #ifdef DtUSE_UTILITIES_NAMESPACE
DtPduFilterTest myExerciseFilter
Definition: vlDisSocket.h:382
DtPduFilterTest()
Definition: vlDisSocket.h:49
void setTest(DtPduTestOperator op, DtU32 value)
Definition: vlDisSocket.h:53
Definition: vlDisSocket.h:21
This file contains the declaration of DtList and DtListItem.
int myMaxBundleSize
Definition: vlDisSocket.h:364
DtInetEndpoint mySendEndpoint
Definition: vlDisSocket.h:355
DtInetSockRcvStatus
Socket state enumeration.
Definition: vlInetSocket.h:129
DtInetUtils::DtInetSockInboundBundleQueue myInboundBundles
Definition: vlDisSocket.h:362
std::vector< DtInetBuffer * > DtInetBufferChain
Socket state enumeration.
Definition: vlInetSocket.h:105
Definition: vlDisSocket.h:21
Network-order unsigned 16-bit quantity.
Definition: vlNetTypes.h:51
void extendTest(DtU32 value)
Definition: vlDisSocket.h:54
Definition: vlDisSocket.h:24
void * mySendSocket
Using Void pointer to abstract a boost type actual type: boost::asio::ip::udp::socket*.
Definition: vlDisSocket.h:353
The DtInetSocket class provides a protocol independant, address family independant base class for TCP...
Definition: vlInetSocket.h:201
This file contains the declaration of DtNetTimeStamp.
Definition: vlDisSocket.h:24
bool & myUseMonitor
Definition: vlDisSocket.h:387
DtPduFilterTest myAddrFilter
Definition: vlDisSocket.h:384
DtPduFilterTest myVersionFilter
Definition: vlDisSocket.h:381
DtMutex myMonitor
Definition: vlDisSocket.h:386
DtInetSockFlushStatus
Socket state enumeration.
Definition: vlInetSocket.h:144
Contains the DtInetUdpSocket class declaration.
DtPduFilterTest myKindFilter
Definition: vlDisSocket.h:383
DtList values
Definition: vlDisSocket.h:67
The DtInetEndpoint class provides a protocol independant, address family independent mechanism to rep...
Definition: vlInetEndpoint.h:33
The DtDisSocket class provides an address family independent datagram socket.
Definition: vlDisSocket.h:75
virtual DtPduFilterTest * pduKind()
Definition: vlDisSocket.h:403
void disableTest()
Definition: vlDisSocket.h:52
int myMinPacketSize
Definition: vlDisSocket.h:366
Represents a IPv4 or IPv6 address.
Definition: vlInetAddr.h:36
DtPduFilterType
Definition: vlDisSocket.h:24
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
std::map< DtInetEndpoint, DtInetChainEntry > DtInetSockOutboundBundleMap
Definition: vlInetSocketUtils.h:27
DtU8 DtNetU8
Unsigned 8-bit value.
Definition: vlNetTypes.h:30
DtAttributePduStrategy
Definition: vlAttributePduStrategy.h:16
instances of DtMutex are used to provide a platform independent mutual exclusion mechanism ...
Definition: vlMutex.h:31
virtual DtPduFilterTest * exerciseId()
DIS PDU filtering extension interface.
Definition: vlDisSocket.h:393
void * mySendSocketIoService
Using Void pointer to abstract a boost type actual type: boost::asio::io_service*.
Definition: vlDisSocket.h:349
DtInetUtils::DtInetSockOutboundBundleMap myOutboundBundles
Definition: vlDisSocket.h:361
Instances of DtNetTimeStamp are network representations of a DIS time stamp.
Definition: vlNetTimeStamp.h:28
Definition: vlInetDevice.h:101
virtual DtPduFilterTest * protocolVersion()
Definition: vlDisSocket.h:398
void reduceTest(DtU32 value)
Definition: vlDisSocket.h:55
std::set< DtInetEndpoint > myAdditionalDestinations
Definition: vlDisSocket.h:356
std::deque< DtInetSockInboundBundleEntry > DtInetSockInboundBundleQueue
Definition: vlInetSocketUtils.h:34
DtU32 myBundleByteAlignment
Definition: vlDisSocket.h:365
This file contains miscellaneous definitions and inline functions which can be used to extend the fun...
virtual DtPduFilterTest * ipAddr()
Definition: vlDisSocket.h:408
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
int send(int s, char *buf, int bufLen, int flags)
An abstract base class to represent a Socket Type.
Definition: vlInetUdpSocket.h:24
DtPduTestOperator testOp
Definition: vlDisSocket.h:66
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtAttributePduStrategy myAttributePduStrategy
Definition: vlDisSocket.h:389
bool mySuppressSelfReflect
Definition: vlDisSocket.h:358
#define DtDefaultSockOpts
Marks the Socket as Writable.
Definition: vlInetSocket.h:90
virtual ~DtPduFilterTest()
Definition: vlDisSocket.h:50
DtPduTestOperator
Definition: vlDisSocket.h:21
Definition: vlDisSocket.h:46
#define DT_DLL_VLUTIL
Definition: vlMachineTypes.h:109
DtDisSockPimpl * myAsyncSendSockPimpl
Definition: vlDisSocket.h:342