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());