14 #ifndef udpMsgSocket_H_
15 #define udpMsgSocket_H_
21 #include <vlutil/vlInetUdpSocket.h>
25 using namespace MAKRti;
58 virtual void openSocket(
const DtInetEndpoint& dest,
59 DtU32 flags = DtDefaultSockOpts, DtU16 localPort = 0,
60 DtInetDevice* hostIf = NULL);
63 virtual int sendMessage(caddr_t msg,
size_t msgSize,
bool deleteAfterSend,
64 const DtInetAddr& destAddr = DtInetAddr::inaddrAny());
71 virtual int recvMessage(caddr_t *buffptr);
74 virtual int recvMessageWithSrc(caddr_t *buffptr, DtInetEndpoint& src);
77 virtual void enableBundling(
size_t maxBundleSize);
80 virtual void disableBundling();
83 virtual void enableCompression(DtU8 compressionLevel);
86 virtual void disableCompression();
94 virtual bool joinMulticastGroup(
const DtInetAddr& grpAddr,
95 DtInetDevice* device = NULL );
96 virtual bool joinMulticastGroup(
const DtInetEndpoint& grpEndpoint,
97 DtInetDevice* device = NULL );
98 virtual bool dropMulticastGroup(
const DtInetAddr& grpAddr,
99 DtInetDevice* device = NULL );
100 virtual bool dropMulticastGroup(
const DtInetEndpoint& grpEndpoint,
101 DtInetDevice* device = NULL );
105 virtual bool setMcastTtlOption( DtU32 ttl );
108 virtual void setRetryOnSend(
unsigned int numRetries,
double waitPeriod);
111 virtual DtU32 maxMsgSize()
const;
114 virtual bool isOpen()
const;
117 DtInetUdpSocket* inetUdpSocket();
126 virtual int sendPacket(caddr_t msg,
size_t msgSize,
127 const DtInetAddr& destAddr = DtInetAddr::inaddrAny());
130 virtual int retrySendTo(caddr_t msg,
size_t msgSize,
131 const DtInetAddr& destAddr = DtInetAddr::inaddrAny());
134 virtual int recv(caddr_t *buffptr, DtInetEndpoint* ep);
176 return static_cast<DtInetUdpSocket*
>(mySocket.get());