19 #include <vlutil/vlInetUdpSocket.h>
23 using namespace MAKRti;
56 virtual void openSocket(
const DtInetEndpoint& dest,
57 DtU32 flags = DtDefaultSockOpts, DtU16 localPort = 0,
58 DtInetDevice* hostIf =
NULL);
61 virtual int sendMessage(caddr_t msg,
size_t msgSize,
bool deleteAfterSend,
62 const DtInetAddr& destAddr = DtInetAddr::inaddrAny(),
int port = 0);
69 virtual int recvMessage(caddr_t *buffptr);
72 virtual int recvMessageWithSrc(caddr_t *buffptr, DtInetEndpoint& src);
75 virtual void enableBundling(
size_t maxBundleSize);
78 virtual void disableBundling();
81 virtual void enableCompression(DtU8 compressionLevel);
84 virtual void disableCompression();
92 virtual bool joinMulticastGroup(
const DtInetAddr& grpAddr,
93 DtInetDevice* device =
NULL );
94 virtual bool joinMulticastGroup(
const DtInetEndpoint& grpEndpoint,
95 DtInetDevice* device =
NULL );
96 virtual bool dropMulticastGroup(
const DtInetAddr& grpAddr,
97 DtInetDevice* device =
NULL );
98 virtual bool dropMulticastGroup(
const DtInetEndpoint& grpEndpoint,
99 DtInetDevice* device =
NULL );
103 virtual bool setMcastTtlOption( DtU32 ttl );
106 virtual void setRetryOnSend(
unsigned int numRetries,
double waitPeriod);
109 virtual DtU32 maxMsgSize()
const;
112 virtual bool isOpen()
const;
115 DtInetUdpSocket* inetUdpSocket();
123 virtual int sendPacket(caddr_t msg,
size_t msgSize,
124 const DtInetAddr& destAddr = DtInetAddr::inaddrAny(),
128 virtual int doSendPacket(caddr_t msg,
size_t msgSize,
129 const DtInetAddr& destAddr = DtInetAddr::inaddrAny(),
133 virtual int retrySendTo(caddr_t msg,
size_t msgSize,
134 const DtInetAddr& destAddr = DtInetAddr::inaddrAny(),
138 virtual int recv(caddr_t *buffptr, DtInetEndpoint* ep);
180 return static_cast<DtInetUdpSocket*
>(mySocket.get());
bool myCompressionEnabled
Whether message compression is enabled.
Definition: udpMsgSocket.h:159
DtInetUdpSocket * inetUdpSocket()
Returns a pointer to the DtInetUdpSocket.
Definition: udpMsgSocket.h:178
bool myBundlingEnabled
Whether message bundling is enabled.
Definition: udpMsgSocket.h:153
size_t myMaxPacketSize
The maximum packet size.
Definition: udpMsgSocket.h:165
DtInetEndpoint myLastSourceEndpoint
Source endpoint of last data received.
Definition: udpMsgSocket.h:162
This file contains the declaration of the DtMsgCompressor class.
double mySendRetryPeriod
The wait period between send retries.
Definition: udpMsgSocket.h:171
DtInetEndpoint myEndpoint
The current endpoint to send to.
Definition: udpMsgSocket.h:143
unsigned int myMaxSendRetries
The maximum number of times to try resending.
Definition: udpMsgSocket.h:168
The DtMsgCompressor class provides a means for compressing and uncompressing messages.
Definition: msgCompressor.h:31
std::map< DtInetAddr, DtMsgBundler * > myMsgBundlers
Message bundlers for outgoing messages for each destination address.
Definition: udpMsgSocket.h:146
virtual void setFilterPort(int port)
Sets the filter port. All messages sent from this port on this machine will be filtered.
Definition: udpMsgSocket.h:118
#define NULL
Definition: baseTypes13.h:8
This file contains the declaration of the DtMsgSocket base class.
const size_t DtDefaultMaxPacketSize
Definition: udpMsgSocket.h:21
The DtMsgBundler class provides a means for bundling and unbundling messages.
Definition: msgBundler.h:26
This file contains the declaration of the DtMsgBundler class.
The DtMsgSocket provides a wrapper around the DtInetSocket class to operate on messages rather than j...
Definition: msgSocket.h:29
int myFilterPort
All messages sent from this port on this machine will be filtered.
Definition: udpMsgSocket.h:174
DtMsgBundler myDefaultMsgBundler
Message bundler for the default destination.
Definition: udpMsgSocket.h:150
#define DT_DLL_RTIUTIL
Definition: rtiMsConfig.h:127
The DtUdpMsgSocket class provides an address family independent UDP socket that handles RTI messages...
Definition: udpMsgSocket.h:28
DtMsgCompressor myMsgCompressor
Message compressor and uncompressor.
Definition: udpMsgSocket.h:156