\hypertarget{classXrlSocket4V0p1Client}{
\section{XrlSocket4V0p1Client Class Reference}
\label{classXrlSocket4V0p1Client}\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4V0p1Client_a4749634c72381b4bd96961b24a673d9e}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenCB}}
\label{classXrlSocket4V0p1Client_a4749634c72381b4bd96961b24a673d9e}

\item 
\hypertarget{classXrlSocket4V0p1Client_a7000e668575d8e2d05eda369cb5ade2f}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenCB}}
\label{classXrlSocket4V0p1Client_a7000e668575d8e2d05eda369cb5ade2f}

\item 
\hypertarget{classXrlSocket4V0p1Client_a1f260bb402fb5ee5aecd8575564c4b36}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenAndBindCB}}
\label{classXrlSocket4V0p1Client_a1f260bb402fb5ee5aecd8575564c4b36}

\item 
\hypertarget{classXrlSocket4V0p1Client_aa17310f2f2b6d8af433600faec544a7f}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenAndBindCB}}
\label{classXrlSocket4V0p1Client_aa17310f2f2b6d8af433600faec544a7f}

\item 
\hypertarget{classXrlSocket4V0p1Client_a80ce05df8dbc85a2e2ea5682df023843}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindJoinCB}}
\label{classXrlSocket4V0p1Client_a80ce05df8dbc85a2e2ea5682df023843}

\item 
\hypertarget{classXrlSocket4V0p1Client_ac629b83dcc0fa7bb5f94674a06be8591}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenBindConnectCB}}
\label{classXrlSocket4V0p1Client_ac629b83dcc0fa7bb5f94674a06be8591}

\item 
\hypertarget{classXrlSocket4V0p1Client_add000e5639715886fa93a68baf3cc7e3}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindConnectCB}}
\label{classXrlSocket4V0p1Client_add000e5639715886fa93a68baf3cc7e3}

\item 
\hypertarget{classXrlSocket4V0p1Client_a8042e3fbcad394f115676a81576a60a3}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindBroadcastCB}}
\label{classXrlSocket4V0p1Client_a8042e3fbcad394f115676a81576a60a3}

\item 
\hypertarget{classXrlSocket4V0p1Client_ad8690c44489b87e441e10f6550515388}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries BindCB}}
\label{classXrlSocket4V0p1Client_ad8690c44489b87e441e10f6550515388}

\item 
\hypertarget{classXrlSocket4V0p1Client_a0b2724fa0b2a46358ce9250d68289092}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpJoinGroupCB}}
\label{classXrlSocket4V0p1Client_a0b2724fa0b2a46358ce9250d68289092}

\item 
\hypertarget{classXrlSocket4V0p1Client_ad7da9e24c0f4d8a0dea3eae58dada0ff}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpLeaveGroupCB}}
\label{classXrlSocket4V0p1Client_ad7da9e24c0f4d8a0dea3eae58dada0ff}

\item 
\hypertarget{classXrlSocket4V0p1Client_a846c89af06783e8cc5307f465b04a493}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries CloseCB}}
\label{classXrlSocket4V0p1Client_a846c89af06783e8cc5307f465b04a493}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6bf359612ba20ffb6f9d16d1edef14a6}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries TcpListenCB}}
\label{classXrlSocket4V0p1Client_a6bf359612ba20ffb6f9d16d1edef14a6}

\item 
\hypertarget{classXrlSocket4V0p1Client_aa7524794bb61b6ce7257ab55642584c2}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpEnableRecvCB}}
\label{classXrlSocket4V0p1Client_aa7524794bb61b6ce7257ab55642584c2}

\item 
\hypertarget{classXrlSocket4V0p1Client_a25480518001a6d5b09b02b11b8a7442d}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendCB}}
\label{classXrlSocket4V0p1Client_a25480518001a6d5b09b02b11b8a7442d}

\item 
\hypertarget{classXrlSocket4V0p1Client_add42303738f24842ead03edda6219f1a}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendToCB}}
\label{classXrlSocket4V0p1Client_add42303738f24842ead03edda6219f1a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a42615d2c4c337d246d0da7334cb0e189}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendFromMulticastIfCB}}
\label{classXrlSocket4V0p1Client_a42615d2c4c337d246d0da7334cb0e189}

\item 
\hypertarget{classXrlSocket4V0p1Client_a9d19603be299a0013a4efb25a0e47342}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SetSocketOptionCB}}
\label{classXrlSocket4V0p1Client_a9d19603be299a0013a4efb25a0e47342}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6470186382b5179cf3cd99d4c3aa7d59}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SetSocketOptionTxtCB}}
\label{classXrlSocket4V0p1Client_a6470186382b5179cf3cd99d4c3aa7d59}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4749634c72381b4bd96961b24a673d9e}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenCB}}
\label{classXrlSocket4V0p1Client_a4749634c72381b4bd96961b24a673d9e}

\item 
\hypertarget{classXrlSocket4V0p1Client_a7000e668575d8e2d05eda369cb5ade2f}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenCB}}
\label{classXrlSocket4V0p1Client_a7000e668575d8e2d05eda369cb5ade2f}

\item 
\hypertarget{classXrlSocket4V0p1Client_a1f260bb402fb5ee5aecd8575564c4b36}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenAndBindCB}}
\label{classXrlSocket4V0p1Client_a1f260bb402fb5ee5aecd8575564c4b36}

\item 
\hypertarget{classXrlSocket4V0p1Client_aa17310f2f2b6d8af433600faec544a7f}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenAndBindCB}}
\label{classXrlSocket4V0p1Client_aa17310f2f2b6d8af433600faec544a7f}

\item 
\hypertarget{classXrlSocket4V0p1Client_a80ce05df8dbc85a2e2ea5682df023843}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindJoinCB}}
\label{classXrlSocket4V0p1Client_a80ce05df8dbc85a2e2ea5682df023843}

\item 
\hypertarget{classXrlSocket4V0p1Client_ac629b83dcc0fa7bb5f94674a06be8591}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries TcpOpenBindConnectCB}}
\label{classXrlSocket4V0p1Client_ac629b83dcc0fa7bb5f94674a06be8591}

\item 
\hypertarget{classXrlSocket4V0p1Client_add000e5639715886fa93a68baf3cc7e3}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindConnectCB}}
\label{classXrlSocket4V0p1Client_add000e5639715886fa93a68baf3cc7e3}

\item 
\hypertarget{classXrlSocket4V0p1Client_a8042e3fbcad394f115676a81576a60a3}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const string $\ast$ $>$::RefPtr {\bfseries UdpOpenBindBroadcastCB}}
\label{classXrlSocket4V0p1Client_a8042e3fbcad394f115676a81576a60a3}

\item 
\hypertarget{classXrlSocket4V0p1Client_ad8690c44489b87e441e10f6550515388}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries BindCB}}
\label{classXrlSocket4V0p1Client_ad8690c44489b87e441e10f6550515388}

\item 
\hypertarget{classXrlSocket4V0p1Client_a0b2724fa0b2a46358ce9250d68289092}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpJoinGroupCB}}
\label{classXrlSocket4V0p1Client_a0b2724fa0b2a46358ce9250d68289092}

\item 
\hypertarget{classXrlSocket4V0p1Client_ad7da9e24c0f4d8a0dea3eae58dada0ff}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpLeaveGroupCB}}
\label{classXrlSocket4V0p1Client_ad7da9e24c0f4d8a0dea3eae58dada0ff}

\item 
\hypertarget{classXrlSocket4V0p1Client_a846c89af06783e8cc5307f465b04a493}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries CloseCB}}
\label{classXrlSocket4V0p1Client_a846c89af06783e8cc5307f465b04a493}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6bf359612ba20ffb6f9d16d1edef14a6}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries TcpListenCB}}
\label{classXrlSocket4V0p1Client_a6bf359612ba20ffb6f9d16d1edef14a6}

\item 
\hypertarget{classXrlSocket4V0p1Client_aa7524794bb61b6ce7257ab55642584c2}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UdpEnableRecvCB}}
\label{classXrlSocket4V0p1Client_aa7524794bb61b6ce7257ab55642584c2}

\item 
\hypertarget{classXrlSocket4V0p1Client_a25480518001a6d5b09b02b11b8a7442d}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendCB}}
\label{classXrlSocket4V0p1Client_a25480518001a6d5b09b02b11b8a7442d}

\item 
\hypertarget{classXrlSocket4V0p1Client_add42303738f24842ead03edda6219f1a}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendToCB}}
\label{classXrlSocket4V0p1Client_add42303738f24842ead03edda6219f1a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a42615d2c4c337d246d0da7334cb0e189}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendFromMulticastIfCB}}
\label{classXrlSocket4V0p1Client_a42615d2c4c337d246d0da7334cb0e189}

\item 
\hypertarget{classXrlSocket4V0p1Client_a9d19603be299a0013a4efb25a0e47342}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SetSocketOptionCB}}
\label{classXrlSocket4V0p1Client_a9d19603be299a0013a4efb25a0e47342}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6470186382b5179cf3cd99d4c3aa7d59}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SetSocketOptionTxtCB}}
\label{classXrlSocket4V0p1Client_a6470186382b5179cf3cd99d4c3aa7d59}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4V0p1Client_a8a6ecbfdf0a3e139d415f08ad983adb8}{
{\bfseries XrlSocket4V0p1Client} (\hyperlink{classXrlSender}{XrlSender} $\ast$s)}
\label{classXrlSocket4V0p1Client_a8a6ecbfdf0a3e139d415f08ad983adb8}

\item 
bool \hyperlink{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}{send\_\-tcp\_\-open} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const TcpOpenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}{send\_\-udp\_\-open} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const UdpOpenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}{send\_\-tcp\_\-open\_\-and\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const TcpOpenAndBindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}{send\_\-udp\_\-open\_\-and\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const string \&local\_\-dev, const uint32\_\-t \&reuse, const UdpOpenAndBindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}{send\_\-udp\_\-open\_\-bind\_\-join} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const uint32\_\-t \&ttl, const bool \&reuse, const UdpOpenBindJoinCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}{send\_\-tcp\_\-open\_\-bind\_\-connect} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const TcpOpenBindConnectCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}{send\_\-udp\_\-open\_\-bind\_\-connect} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const UdpOpenBindConnectCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}{send\_\-udp\_\-open\_\-bind\_\-broadcast} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const string \&ifname, const string \&vifname, const uint32\_\-t \&local\_\-port, const uint32\_\-t \&remote\_\-port, const bool \&reuse, const bool \&limited, const bool \&connected, const UdpOpenBindBroadcastCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}{send\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const BindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}{send\_\-udp\_\-join\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const \hyperlink{classIPv4}{IPv4} \&join\_\-if\_\-addr, const UdpJoinGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}{send\_\-udp\_\-leave\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const \hyperlink{classIPv4}{IPv4} \&leave\_\-if\_\-addr, const UdpLeaveGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}{send\_\-close} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const CloseCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}{send\_\-tcp\_\-listen} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const uint32\_\-t \&backlog, const TcpListenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}{send\_\-udp\_\-enable\_\-recv} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const UdpEnableRecvCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}{send\_\-send} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const vector$<$ uint8\_\-t $>$ \&data, const SendCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}{send\_\-send\_\-to} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const vector$<$ uint8\_\-t $>$ \&data, const SendToCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}{send\_\-send\_\-from\_\-multicast\_\-if} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&group\_\-addr, const uint32\_\-t \&group\_\-port, const \hyperlink{classIPv4}{IPv4} \&ifaddr, const vector$<$ uint8\_\-t $>$ \&data, const SendFromMulticastIfCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}{send\_\-set\_\-socket\_\-option} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&optname, const uint32\_\-t \&optval, const SetSocketOptionCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}{send\_\-set\_\-socket\_\-option\_\-txt} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&optname, const string \&optval, const SetSocketOptionTxtCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
\hypertarget{classXrlSocket4V0p1Client_a8a6ecbfdf0a3e139d415f08ad983adb8}{
{\bfseries XrlSocket4V0p1Client} (\hyperlink{classXrlSender}{XrlSender} $\ast$s)}
\label{classXrlSocket4V0p1Client_a8a6ecbfdf0a3e139d415f08ad983adb8}

\item 
bool \hyperlink{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}{send\_\-tcp\_\-open} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const TcpOpenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}{send\_\-udp\_\-open} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const UdpOpenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}{send\_\-tcp\_\-open\_\-and\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const TcpOpenAndBindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}{send\_\-udp\_\-open\_\-and\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const string \&local\_\-dev, const uint32\_\-t \&reuse, const UdpOpenAndBindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}{send\_\-udp\_\-open\_\-bind\_\-join} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const uint32\_\-t \&ttl, const bool \&reuse, const UdpOpenBindJoinCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}{send\_\-tcp\_\-open\_\-bind\_\-connect} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const TcpOpenBindConnectCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}{send\_\-udp\_\-open\_\-bind\_\-connect} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const UdpOpenBindConnectCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}{send\_\-udp\_\-open\_\-bind\_\-broadcast} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&creator, const string \&ifname, const string \&vifname, const uint32\_\-t \&local\_\-port, const uint32\_\-t \&remote\_\-port, const bool \&reuse, const bool \&limited, const bool \&connected, const UdpOpenBindBroadcastCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}{send\_\-bind} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr, const uint32\_\-t \&local\_\-port, const BindCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}{send\_\-udp\_\-join\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const \hyperlink{classIPv4}{IPv4} \&join\_\-if\_\-addr, const UdpJoinGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}{send\_\-udp\_\-leave\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&mcast\_\-addr, const \hyperlink{classIPv4}{IPv4} \&leave\_\-if\_\-addr, const UdpLeaveGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}{send\_\-close} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const CloseCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}{send\_\-tcp\_\-listen} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const uint32\_\-t \&backlog, const TcpListenCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}{send\_\-udp\_\-enable\_\-recv} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const UdpEnableRecvCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}{send\_\-send} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const vector$<$ uint8\_\-t $>$ \&data, const SendCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}{send\_\-send\_\-to} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const uint32\_\-t \&remote\_\-port, const vector$<$ uint8\_\-t $>$ \&data, const SendToCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}{send\_\-send\_\-from\_\-multicast\_\-if} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&group\_\-addr, const uint32\_\-t \&group\_\-port, const \hyperlink{classIPv4}{IPv4} \&ifaddr, const vector$<$ uint8\_\-t $>$ \&data, const SendFromMulticastIfCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}{send\_\-set\_\-socket\_\-option} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&optname, const uint32\_\-t \&optval, const SetSocketOptionCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}{send\_\-set\_\-socket\_\-option\_\-txt} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&optname, const string \&optval, const SetSocketOptionTxtCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4V0p1Client_a8154cb081c72178a1fb64ec7e6a64a10}{
\hyperlink{classXrlSender}{XrlSender} $\ast$ {\bfseries \_\-sender}}
\label{classXrlSocket4V0p1Client_a8154cb081c72178a1fb64ec7e6a64a10}

\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4V0p1Client_a5b05cebddf314ff332f6e64d4df03b3a}{
static void {\bfseries unmarshall\_\-tcp\_\-open} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenCB cb)}
\label{classXrlSocket4V0p1Client_a5b05cebddf314ff332f6e64d4df03b3a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a2a1edebe3bb56240186c78170239b9b8}{
static void {\bfseries unmarshall\_\-udp\_\-open} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenCB cb)}
\label{classXrlSocket4V0p1Client_a2a1edebe3bb56240186c78170239b9b8}

\item 
\hypertarget{classXrlSocket4V0p1Client_aab11fb70257d668c8b55552e7009dc75}{
static void {\bfseries unmarshall\_\-tcp\_\-open\_\-and\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenAndBindCB cb)}
\label{classXrlSocket4V0p1Client_aab11fb70257d668c8b55552e7009dc75}

\item 
\hypertarget{classXrlSocket4V0p1Client_a877e2e05b8a068ee3477dd337a500bda}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-and\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenAndBindCB cb)}
\label{classXrlSocket4V0p1Client_a877e2e05b8a068ee3477dd337a500bda}

\item 
\hypertarget{classXrlSocket4V0p1Client_abd7bcac8dba390c0fc455db5a0779bd4}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-join} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindJoinCB cb)}
\label{classXrlSocket4V0p1Client_abd7bcac8dba390c0fc455db5a0779bd4}

\item 
\hypertarget{classXrlSocket4V0p1Client_acbdb05f31dda6cdc5e3e59e41dd42ace}{
static void {\bfseries unmarshall\_\-tcp\_\-open\_\-bind\_\-connect} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenBindConnectCB cb)}
\label{classXrlSocket4V0p1Client_acbdb05f31dda6cdc5e3e59e41dd42ace}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6d762d0d1cbb99c041d3dda7d03fd27f}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-connect} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindConnectCB cb)}
\label{classXrlSocket4V0p1Client_a6d762d0d1cbb99c041d3dda7d03fd27f}

\item 
\hypertarget{classXrlSocket4V0p1Client_a88762d79bc68aafe3a2be81b1b21383b}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-broadcast} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindBroadcastCB cb)}
\label{classXrlSocket4V0p1Client_a88762d79bc68aafe3a2be81b1b21383b}

\item 
\hypertarget{classXrlSocket4V0p1Client_afa367732d8901e065ce0e44c94680168}{
static void {\bfseries unmarshall\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, BindCB cb)}
\label{classXrlSocket4V0p1Client_afa367732d8901e065ce0e44c94680168}

\item 
\hypertarget{classXrlSocket4V0p1Client_a52c23fc5b7f1ea7d00e72e8a9cc82e15}{
static void {\bfseries unmarshall\_\-udp\_\-join\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpJoinGroupCB cb)}
\label{classXrlSocket4V0p1Client_a52c23fc5b7f1ea7d00e72e8a9cc82e15}

\item 
\hypertarget{classXrlSocket4V0p1Client_a7ebbb8552810a84312ff379cf855c10d}{
static void {\bfseries unmarshall\_\-udp\_\-leave\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpLeaveGroupCB cb)}
\label{classXrlSocket4V0p1Client_a7ebbb8552810a84312ff379cf855c10d}

\item 
\hypertarget{classXrlSocket4V0p1Client_a7d647ed39ed72e7065aaefe15ee8b7cb}{
static void {\bfseries unmarshall\_\-close} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, CloseCB cb)}
\label{classXrlSocket4V0p1Client_a7d647ed39ed72e7065aaefe15ee8b7cb}

\item 
\hypertarget{classXrlSocket4V0p1Client_a9c16660b14127b9ffdc5cc8f0841452a}{
static void {\bfseries unmarshall\_\-tcp\_\-listen} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpListenCB cb)}
\label{classXrlSocket4V0p1Client_a9c16660b14127b9ffdc5cc8f0841452a}

\item 
\hypertarget{classXrlSocket4V0p1Client_accf6e6379c1f81475284dbb56b55eff4}{
static void {\bfseries unmarshall\_\-udp\_\-enable\_\-recv} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpEnableRecvCB cb)}
\label{classXrlSocket4V0p1Client_accf6e6379c1f81475284dbb56b55eff4}

\item 
\hypertarget{classXrlSocket4V0p1Client_a6016aca43518a598fbec1d888d4d8437}{
static void {\bfseries unmarshall\_\-send} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendCB cb)}
\label{classXrlSocket4V0p1Client_a6016aca43518a598fbec1d888d4d8437}

\item 
\hypertarget{classXrlSocket4V0p1Client_acb3ca05439dc414ab616318f69ee0c26}{
static void {\bfseries unmarshall\_\-send\_\-to} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendToCB cb)}
\label{classXrlSocket4V0p1Client_acb3ca05439dc414ab616318f69ee0c26}

\item 
\hypertarget{classXrlSocket4V0p1Client_ad52500eb587dcead861784ce95b39d54}{
static void {\bfseries unmarshall\_\-send\_\-from\_\-multicast\_\-if} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendFromMulticastIfCB cb)}
\label{classXrlSocket4V0p1Client_ad52500eb587dcead861784ce95b39d54}

\item 
\hypertarget{classXrlSocket4V0p1Client_a79049786fbecbe5908a87ecbe47519da}{
static void {\bfseries unmarshall\_\-set\_\-socket\_\-option} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SetSocketOptionCB cb)}
\label{classXrlSocket4V0p1Client_a79049786fbecbe5908a87ecbe47519da}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4f64b4cf0147c11cfb813c68ab78841a}{
static void {\bfseries unmarshall\_\-set\_\-socket\_\-option\_\-txt} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SetSocketOptionTxtCB cb)}
\label{classXrlSocket4V0p1Client_a4f64b4cf0147c11cfb813c68ab78841a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a759a3a3d698e242d07dee7841b79ec1c}{
static void {\bfseries unmarshall\_\-tcp\_\-open} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenCB cb)}
\label{classXrlSocket4V0p1Client_a759a3a3d698e242d07dee7841b79ec1c}

\item 
\hypertarget{classXrlSocket4V0p1Client_abec8448e06476397231387c982afad56}{
static void {\bfseries unmarshall\_\-udp\_\-open} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenCB cb)}
\label{classXrlSocket4V0p1Client_abec8448e06476397231387c982afad56}

\item 
\hypertarget{classXrlSocket4V0p1Client_a398f4f926221abcef0383a2513e79f3d}{
static void {\bfseries unmarshall\_\-tcp\_\-open\_\-and\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenAndBindCB cb)}
\label{classXrlSocket4V0p1Client_a398f4f926221abcef0383a2513e79f3d}

\item 
\hypertarget{classXrlSocket4V0p1Client_aebaae8f01a6718d1d6e4d91829091d1d}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-and\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenAndBindCB cb)}
\label{classXrlSocket4V0p1Client_aebaae8f01a6718d1d6e4d91829091d1d}

\item 
\hypertarget{classXrlSocket4V0p1Client_a03a8b3eb2d7d8a780b4dbe88ea9c7a3a}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-join} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindJoinCB cb)}
\label{classXrlSocket4V0p1Client_a03a8b3eb2d7d8a780b4dbe88ea9c7a3a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a61cd06691ca32718a9d1a6a76371b19b}{
static void {\bfseries unmarshall\_\-tcp\_\-open\_\-bind\_\-connect} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpOpenBindConnectCB cb)}
\label{classXrlSocket4V0p1Client_a61cd06691ca32718a9d1a6a76371b19b}

\item 
\hypertarget{classXrlSocket4V0p1Client_a5a3ba8de5c0bb79f2d889460618ef52e}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-connect} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindConnectCB cb)}
\label{classXrlSocket4V0p1Client_a5a3ba8de5c0bb79f2d889460618ef52e}

\item 
\hypertarget{classXrlSocket4V0p1Client_a2549c0887657bb50d7fabde0fed5a9e8}{
static void {\bfseries unmarshall\_\-udp\_\-open\_\-bind\_\-broadcast} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpOpenBindBroadcastCB cb)}
\label{classXrlSocket4V0p1Client_a2549c0887657bb50d7fabde0fed5a9e8}

\item 
\hypertarget{classXrlSocket4V0p1Client_a77bfccdda120bb43e6f2207a7ec0ce10}{
static void {\bfseries unmarshall\_\-bind} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, BindCB cb)}
\label{classXrlSocket4V0p1Client_a77bfccdda120bb43e6f2207a7ec0ce10}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4a98b9f96cd295ec79d6ae0007ee90e5}{
static void {\bfseries unmarshall\_\-udp\_\-join\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpJoinGroupCB cb)}
\label{classXrlSocket4V0p1Client_a4a98b9f96cd295ec79d6ae0007ee90e5}

\item 
\hypertarget{classXrlSocket4V0p1Client_a7e45db46775ebf22c64515814c65efdf}{
static void {\bfseries unmarshall\_\-udp\_\-leave\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpLeaveGroupCB cb)}
\label{classXrlSocket4V0p1Client_a7e45db46775ebf22c64515814c65efdf}

\item 
\hypertarget{classXrlSocket4V0p1Client_ac2c98e099349dcf97e2bf6b9f8dcbdf8}{
static void {\bfseries unmarshall\_\-close} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, CloseCB cb)}
\label{classXrlSocket4V0p1Client_ac2c98e099349dcf97e2bf6b9f8dcbdf8}

\item 
\hypertarget{classXrlSocket4V0p1Client_a74bd63b367191345128f353d35eaeeb3}{
static void {\bfseries unmarshall\_\-tcp\_\-listen} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, TcpListenCB cb)}
\label{classXrlSocket4V0p1Client_a74bd63b367191345128f353d35eaeeb3}

\item 
\hypertarget{classXrlSocket4V0p1Client_ac2a650f0bd4daf4105ef037ff8303cfc}{
static void {\bfseries unmarshall\_\-udp\_\-enable\_\-recv} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UdpEnableRecvCB cb)}
\label{classXrlSocket4V0p1Client_ac2a650f0bd4daf4105ef037ff8303cfc}

\item 
\hypertarget{classXrlSocket4V0p1Client_a443ba972749b41b10b2055dadc0200bd}{
static void {\bfseries unmarshall\_\-send} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendCB cb)}
\label{classXrlSocket4V0p1Client_a443ba972749b41b10b2055dadc0200bd}

\item 
\hypertarget{classXrlSocket4V0p1Client_a349455da62427da6614aa5c69c86d4fa}{
static void {\bfseries unmarshall\_\-send\_\-to} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendToCB cb)}
\label{classXrlSocket4V0p1Client_a349455da62427da6614aa5c69c86d4fa}

\item 
\hypertarget{classXrlSocket4V0p1Client_a975c236e78906e43e0fb6062065fd57a}{
static void {\bfseries unmarshall\_\-send\_\-from\_\-multicast\_\-if} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendFromMulticastIfCB cb)}
\label{classXrlSocket4V0p1Client_a975c236e78906e43e0fb6062065fd57a}

\item 
\hypertarget{classXrlSocket4V0p1Client_a43291ef19aeb1a80ae19567591c5bad7}{
static void {\bfseries unmarshall\_\-set\_\-socket\_\-option} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SetSocketOptionCB cb)}
\label{classXrlSocket4V0p1Client_a43291ef19aeb1a80ae19567591c5bad7}

\item 
\hypertarget{classXrlSocket4V0p1Client_a8aa940faff7366804c5e37590d113d1a}{
static void {\bfseries unmarshall\_\-set\_\-socket\_\-option\_\-txt} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SetSocketOptionTxtCB cb)}
\label{classXrlSocket4V0p1Client_a8aa940faff7366804c5e37590d113d1a}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4V0p1Client_a585d2f06d9966e0e2dfb379c980651bb}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-tcp\_\-open}}
\label{classXrlSocket4V0p1Client_a585d2f06d9966e0e2dfb379c980651bb}

\item 
\hypertarget{classXrlSocket4V0p1Client_a0d6025e470485bf135a3c8f658bebb0e}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-open}}
\label{classXrlSocket4V0p1Client_a0d6025e470485bf135a3c8f658bebb0e}

\item 
\hypertarget{classXrlSocket4V0p1Client_a736931f9a897caf73ad5f8d99a377e39}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-tcp\_\-open\_\-and\_\-bind}}
\label{classXrlSocket4V0p1Client_a736931f9a897caf73ad5f8d99a377e39}

\item 
\hypertarget{classXrlSocket4V0p1Client_a9f76953879b9fdd474b69d8633f09d28}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-open\_\-and\_\-bind}}
\label{classXrlSocket4V0p1Client_a9f76953879b9fdd474b69d8633f09d28}

\item 
\hypertarget{classXrlSocket4V0p1Client_a9fcbeebe451faf6f27cd454608063be2}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-open\_\-bind\_\-join}}
\label{classXrlSocket4V0p1Client_a9fcbeebe451faf6f27cd454608063be2}

\item 
\hypertarget{classXrlSocket4V0p1Client_aa51d02226d338474efe825f6593001be}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-tcp\_\-open\_\-bind\_\-connect}}
\label{classXrlSocket4V0p1Client_aa51d02226d338474efe825f6593001be}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4ad920216188d590c376332ec9a429a5}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-open\_\-bind\_\-connect}}
\label{classXrlSocket4V0p1Client_a4ad920216188d590c376332ec9a429a5}

\item 
\hypertarget{classXrlSocket4V0p1Client_a78e5fa6bf180d0d48366acbf51830086}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-open\_\-bind\_\-broadcast}}
\label{classXrlSocket4V0p1Client_a78e5fa6bf180d0d48366acbf51830086}

\item 
\hypertarget{classXrlSocket4V0p1Client_a276fdb7c882efc726269977ba1408261}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-bind}}
\label{classXrlSocket4V0p1Client_a276fdb7c882efc726269977ba1408261}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4e0db88052c78bf76c38d3a9200d1f2d}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-join\_\-group}}
\label{classXrlSocket4V0p1Client_a4e0db88052c78bf76c38d3a9200d1f2d}

\item 
\hypertarget{classXrlSocket4V0p1Client_aaa596af0a9ce3917727dd814df4784b8}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-leave\_\-group}}
\label{classXrlSocket4V0p1Client_aaa596af0a9ce3917727dd814df4784b8}

\item 
\hypertarget{classXrlSocket4V0p1Client_a3056d0522acdd3bf819ad2556d8f99cf}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-close}}
\label{classXrlSocket4V0p1Client_a3056d0522acdd3bf819ad2556d8f99cf}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4a6067720621286e658c590675b311ba}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-tcp\_\-listen}}
\label{classXrlSocket4V0p1Client_a4a6067720621286e658c590675b311ba}

\item 
\hypertarget{classXrlSocket4V0p1Client_a4c82e891ed83a62fb5a24aa1947be775}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-udp\_\-enable\_\-recv}}
\label{classXrlSocket4V0p1Client_a4c82e891ed83a62fb5a24aa1947be775}

\item 
\hypertarget{classXrlSocket4V0p1Client_a74b636206e726f322f5e1940fc384c87}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-send}}
\label{classXrlSocket4V0p1Client_a74b636206e726f322f5e1940fc384c87}

\item 
\hypertarget{classXrlSocket4V0p1Client_ac68f97320dd3a6fba31350673cef8066}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-send\_\-to}}
\label{classXrlSocket4V0p1Client_ac68f97320dd3a6fba31350673cef8066}

\item 
\hypertarget{classXrlSocket4V0p1Client_a716b64425827c1f8763260224ae03d61}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-send\_\-from\_\-multicast\_\-if}}
\label{classXrlSocket4V0p1Client_a716b64425827c1f8763260224ae03d61}

\item 
\hypertarget{classXrlSocket4V0p1Client_aecf9bd2e29db05ef2a43f5e384616a4c}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-set\_\-socket\_\-option}}
\label{classXrlSocket4V0p1Client_aecf9bd2e29db05ef2a43f5e384616a4c}

\item 
\hypertarget{classXrlSocket4V0p1Client_a97c2cdd86f1088c06edab9ed8d43307f}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-set\_\-socket\_\-option\_\-txt}}
\label{classXrlSocket4V0p1Client_a97c2cdd86f1088c06edab9ed8d43307f}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-bind@{send\_\-bind}}
\index{send\_\-bind@{send\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const BindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Bind a socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} socket ID of \hyperlink{protocolthe-p}{the} socket to bind.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-bind@{send\_\-bind}}
\index{send\_\-bind@{send\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const BindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a870e98f13438154e8e8bc109e18c45ca}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Bind a socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} socket ID of \hyperlink{protocolthe-p}{the} socket to bind.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-close@{send\_\-close}}
\index{send\_\-close@{send\_\-close}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-close}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-close (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const CloseCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Close socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID of socket to be closed. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-close@{send\_\-close}}
\index{send\_\-close@{send\_\-close}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-close}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-close (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const CloseCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a0ca084696694a2f016fe2805ac76f23c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Close socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID of socket to be closed. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send@{send\_\-send}}
\index{send\_\-send@{send\_\-send}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em data} & block of data to be sent. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send@{send\_\-send}}
\index{send\_\-send@{send\_\-send}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a9f404f8dac2f435926e0468407851fcd}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em data} & block of data to be sent. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send\_\-from\_\-multicast\_\-if@{send\_\-send\_\-from\_\-multicast\_\-if}}
\index{send\_\-send\_\-from\_\-multicast\_\-if@{send\_\-send\_\-from\_\-multicast\_\-if}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send\_\-from\_\-multicast\_\-if}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send\_\-from\_\-multicast\_\-if (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{group\_\-addr, }
\item[{const uint32\_\-t \&}]{group\_\-port, }
\item[{const {\bf IPv4} \&}]{ifaddr, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendFromMulticastIfCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket to a given multicast group from a given interface.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em group\_\-addr} & destination address for data.\\
\hline
{\em group\_\-port} & destination port for data.\\
\hline
{\em ifaddr} & interface address \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send\_\-from\_\-multicast\_\-if@{send\_\-send\_\-from\_\-multicast\_\-if}}
\index{send\_\-send\_\-from\_\-multicast\_\-if@{send\_\-send\_\-from\_\-multicast\_\-if}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send\_\-from\_\-multicast\_\-if}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send\_\-from\_\-multicast\_\-if (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{group\_\-addr, }
\item[{const uint32\_\-t \&}]{group\_\-port, }
\item[{const {\bf IPv4} \&}]{ifaddr, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendFromMulticastIfCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a91844947b6e2896fd5e1bdaeaa5a9f4a}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket to a given multicast group from a given interface.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em group\_\-addr} & destination address for data.\\
\hline
{\em group\_\-port} & destination port for data.\\
\hline
{\em ifaddr} & interface address \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send\_\-to@{send\_\-send\_\-to}}
\index{send\_\-send\_\-to@{send\_\-send\_\-to}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send\_\-to}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send\_\-to (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendToCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket to a given destination. The packet is not routed as \hyperlink{protocolthe-p}{the} forwarding engine sending \hyperlink{protocolthe-p}{the} packet may not have access to \hyperlink{protocolthe-p}{the} full routing table.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em remote\_\-addr} & destination address for data.\\
\hline
{\em remote\_\-port} & destination port for data.\\
\hline
{\em data} & block of data to be sent. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-send\_\-to@{send\_\-send\_\-to}}
\index{send\_\-send\_\-to@{send\_\-send\_\-to}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-send\_\-to}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-send\_\-to (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const SendToCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a43214a5d70e90c637753c527a942150c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} data on socket to a given destination. The packet is not routed as \hyperlink{protocolthe-p}{the} forwarding engine sending \hyperlink{protocolthe-p}{the} packet may not have access to \hyperlink{protocolthe-p}{the} full routing table.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em remote\_\-addr} & destination address for data.\\
\hline
{\em remote\_\-port} & destination port for data.\\
\hline
{\em data} & block of data to be sent. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-set\_\-socket\_\-option@{send\_\-set\_\-socket\_\-option}}
\index{send\_\-set\_\-socket\_\-option@{send\_\-set\_\-socket\_\-option}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-set\_\-socket\_\-option}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-set\_\-socket\_\-option (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{optname, }
\item[{const uint32\_\-t \&}]{optval, }
\item[{const SetSocketOptionCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Set a named socket option with an integer value. XXX: The \char`\"{}onesbcast\char`\"{} and \char`\"{}reuseport\char`\"{} options exist to work around an architectural issue in \hyperlink{protocolthe-p}{the} BSD \hyperlink{classIPv4}{IPv4} stack. They SHOULD NOT be used for new code.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em optname} & name of option to be set. Valid values are: \char`\"{}onesbcast\char`\"{} \char`\"{}receive\_\-broadcast\char`\"{} \char`\"{}reuseport\char`\"{} \char`\"{}send\_\-broadcast\char`\"{} \char`\"{}tos\char`\"{} \char`\"{}ttl\char`\"{} \char`\"{}multicast\_\-loopback\char`\"{} \char`\"{}multicast\_\-ttl\char`\"{}\\
\hline
{\em optval} & integer value of option to be set. If value is logically boolean, then zero represents 'false', and any non-\/zero value represents 'true'. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-set\_\-socket\_\-option@{send\_\-set\_\-socket\_\-option}}
\index{send\_\-set\_\-socket\_\-option@{send\_\-set\_\-socket\_\-option}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-set\_\-socket\_\-option}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-set\_\-socket\_\-option (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{optname, }
\item[{const uint32\_\-t \&}]{optval, }
\item[{const SetSocketOptionCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a58b49cd846bce69582e100f038f6d195}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Set a named socket option with an integer value. XXX: The \char`\"{}onesbcast\char`\"{} and \char`\"{}reuseport\char`\"{} options exist to work around an architectural issue in \hyperlink{protocolthe-p}{the} BSD \hyperlink{classIPv4}{IPv4} stack. They SHOULD NOT be used for new code.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em optname} & name of option to be set. Valid values are: \char`\"{}onesbcast\char`\"{} \char`\"{}receive\_\-broadcast\char`\"{} \char`\"{}reuseport\char`\"{} \char`\"{}send\_\-broadcast\char`\"{} \char`\"{}tos\char`\"{} \char`\"{}ttl\char`\"{} \char`\"{}multicast\_\-loopback\char`\"{} \char`\"{}multicast\_\-ttl\char`\"{}\\
\hline
{\em optval} & integer value of option to be set. If value is logically boolean, then zero represents 'false', and any non-\/zero value represents 'true'. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-set\_\-socket\_\-option\_\-txt@{send\_\-set\_\-socket\_\-option\_\-txt}}
\index{send\_\-set\_\-socket\_\-option\_\-txt@{send\_\-set\_\-socket\_\-option\_\-txt}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-set\_\-socket\_\-option\_\-txt}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-set\_\-socket\_\-option\_\-txt (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{optname, }
\item[{const string \&}]{optval, }
\item[{const SetSocketOptionTxtCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Set a named socket option with a string value. XXX: The \char`\"{}bindtodevice\char`\"{} option exists to workaround an architectural issue in \hyperlink{protocolthe-p}{the} Linux \hyperlink{classIPv4}{IPv4} stack. It SHOULD NOT be used for new code.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em optname} & name of option to be set. Valid values are: \char`\"{}bindtodevice\char`\"{}\\
\hline
{\em optval} & value of option to be set. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-set\_\-socket\_\-option\_\-txt@{send\_\-set\_\-socket\_\-option\_\-txt}}
\index{send\_\-set\_\-socket\_\-option\_\-txt@{send\_\-set\_\-socket\_\-option\_\-txt}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-set\_\-socket\_\-option\_\-txt}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-set\_\-socket\_\-option\_\-txt (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{optname, }
\item[{const string \&}]{optval, }
\item[{const SetSocketOptionTxtCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a192c10ca5fa74cd370d148639216c290}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Set a named socket option with a string value. XXX: The \char`\"{}bindtodevice\char`\"{} option exists to workaround an architectural issue in \hyperlink{protocolthe-p}{the} Linux \hyperlink{classIPv4}{IPv4} stack. It SHOULD NOT be used for new code.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em optname} & name of option to be set. Valid values are: \char`\"{}bindtodevice\char`\"{}\\
\hline
{\em optval} & value of option to be set. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-listen@{send\_\-tcp\_\-listen}}
\index{send\_\-tcp\_\-listen@{send\_\-tcp\_\-listen}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-listen}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-listen (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const uint32\_\-t \&}]{backlog, }
\item[{const TcpListenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Listen for inbound connections on socket. When a connection request received \hyperlink{protocolthe-p}{the} socket creator will receive notification through socket4\_\-user/0.1/inbound\_\-connect\_\-event.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} unique socket ID of \hyperlink{protocolthe-p}{the} socket to perform listen.\\
\hline
{\em backlog} & \hyperlink{protocolthe-p}{the} maximum number of pending connections. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-listen@{send\_\-tcp\_\-listen}}
\index{send\_\-tcp\_\-listen@{send\_\-tcp\_\-listen}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-listen}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-listen (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const uint32\_\-t \&}]{backlog, }
\item[{const TcpListenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a62ba0a22ce7b8caea663546651807fc6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Listen for inbound connections on socket. When a connection request received \hyperlink{protocolthe-p}{the} socket creator will receive notification through socket4\_\-user/0.1/inbound\_\-connect\_\-event.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} unique socket ID of \hyperlink{protocolthe-p}{the} socket to perform listen.\\
\hline
{\em backlog} & \hyperlink{protocolthe-p}{the} maximum number of pending connections. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open@{send\_\-tcp\_\-open}}
\index{send\_\-tcp\_\-open@{send\_\-tcp\_\-open}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const TcpOpenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Open a TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open@{send\_\-tcp\_\-open}}
\index{send\_\-tcp\_\-open@{send\_\-tcp\_\-open}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const TcpOpenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_abceb9b9731219b368f66b2840ac8d685}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Open a TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open\_\-and\_\-bind@{send\_\-tcp\_\-open\_\-and\_\-bind}}
\index{send\_\-tcp\_\-open\_\-and\_\-bind@{send\_\-tcp\_\-open\_\-and\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open\_\-and\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open\_\-and\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const TcpOpenAndBindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open\_\-and\_\-bind@{send\_\-tcp\_\-open\_\-and\_\-bind}}
\index{send\_\-tcp\_\-open\_\-and\_\-bind@{send\_\-tcp\_\-open\_\-and\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open\_\-and\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open\_\-and\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const TcpOpenAndBindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a362f6b6b0c191db7c2cd23e2647f9c2e}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open\_\-bind\_\-connect@{send\_\-tcp\_\-open\_\-bind\_\-connect}}
\index{send\_\-tcp\_\-open\_\-bind\_\-connect@{send\_\-tcp\_\-open\_\-bind\_\-connect}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open\_\-bind\_\-connect}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open\_\-bind\_\-connect (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const TcpOpenBindConnectCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound and connected TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-addr} & \hyperlink{protocolthe-p}{the} address to connect to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-tcp\_\-open\_\-bind\_\-connect@{send\_\-tcp\_\-open\_\-bind\_\-connect}}
\index{send\_\-tcp\_\-open\_\-bind\_\-connect@{send\_\-tcp\_\-open\_\-bind\_\-connect}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-tcp\_\-open\_\-bind\_\-connect}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-tcp\_\-open\_\-bind\_\-connect (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const TcpOpenBindConnectCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a6a10ca458918ca5902af232f1bdc03f8}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound and connected TCP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-addr} & \hyperlink{protocolthe-p}{the} address to connect to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-enable\_\-recv@{send\_\-udp\_\-enable\_\-recv}}
\index{send\_\-udp\_\-enable\_\-recv@{send\_\-udp\_\-enable\_\-recv}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-enable\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-enable\_\-recv (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const UdpEnableRecvCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Enable a UDP socket for datagram reception. If a UDP socket has been created without using \hyperlink{protocolthe-p}{the} usual convenience XRLs, it is necessary to hook up its FEA internal input path by calling this XRL. It is similar in intent to tcp\_\-listen, but named differently as it never uses \hyperlink{protocolthe-p}{the} listen() socket API.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} unique socket ID of \hyperlink{protocolthe-p}{the} socket to enable for datagram reception. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-enable\_\-recv@{send\_\-udp\_\-enable\_\-recv}}
\index{send\_\-udp\_\-enable\_\-recv@{send\_\-udp\_\-enable\_\-recv}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-enable\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-enable\_\-recv (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const UdpEnableRecvCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a22a93d7ead339366ed0365c701ceaa49}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Enable a UDP socket for datagram reception. If a UDP socket has been created without using \hyperlink{protocolthe-p}{the} usual convenience XRLs, it is necessary to hook up its FEA internal input path by calling this XRL. It is similar in intent to tcp\_\-listen, but named differently as it never uses \hyperlink{protocolthe-p}{the} listen() socket API.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & \hyperlink{protocolthe-p}{the} unique socket ID of \hyperlink{protocolthe-p}{the} socket to enable for datagram reception. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-join\_\-group@{send\_\-udp\_\-join\_\-group}}
\index{send\_\-udp\_\-join\_\-group@{send\_\-udp\_\-join\_\-group}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-join\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-join\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const {\bf IPv4} \&}]{join\_\-if\_\-addr, }
\item[{const UdpJoinGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Join multicast group on already bound socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em mcast\_\-addr} & group to join.\\
\hline
{\em join\_\-if\_\-addr} & interface address to perform join on. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-join\_\-group@{send\_\-udp\_\-join\_\-group}}
\index{send\_\-udp\_\-join\_\-group@{send\_\-udp\_\-join\_\-group}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-join\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-join\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const {\bf IPv4} \&}]{join\_\-if\_\-addr, }
\item[{const UdpJoinGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a13ed4945146a41903720641f13e56c7d}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Join multicast group on already bound socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em mcast\_\-addr} & group to join.\\
\hline
{\em join\_\-if\_\-addr} & interface address to perform join on. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-leave\_\-group@{send\_\-udp\_\-leave\_\-group}}
\index{send\_\-udp\_\-leave\_\-group@{send\_\-udp\_\-leave\_\-group}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-leave\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-leave\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const {\bf IPv4} \&}]{leave\_\-if\_\-addr, }
\item[{const UdpLeaveGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Leave multicast group on already bound socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em mcast\_\-addr} & group to leave.\\
\hline
{\em leave\_\-if\_\-addr} & interface address to perform leave on. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-leave\_\-group@{send\_\-udp\_\-leave\_\-group}}
\index{send\_\-udp\_\-leave\_\-group@{send\_\-udp\_\-leave\_\-group}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-leave\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-leave\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const {\bf IPv4} \&}]{leave\_\-if\_\-addr, }
\item[{const UdpLeaveGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2fb303561de8be80d8f11ed8d5d39571}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Leave multicast group on already bound socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em sockid} & unique socket ID.\\
\hline
{\em mcast\_\-addr} & group to leave.\\
\hline
{\em leave\_\-if\_\-addr} & interface address to perform leave on. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open@{send\_\-udp\_\-open}}
\index{send\_\-udp\_\-open@{send\_\-udp\_\-open}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const UdpOpenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Open an UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open@{send\_\-udp\_\-open}}
\index{send\_\-udp\_\-open@{send\_\-udp\_\-open}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const UdpOpenCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_ad17ea47292c8cf7f5bba5909de80a602}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Open an UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-and\_\-bind@{send\_\-udp\_\-open\_\-and\_\-bind}}
\index{send\_\-udp\_\-open\_\-and\_\-bind@{send\_\-udp\_\-open\_\-and\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-and\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-and\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const string \&}]{local\_\-dev, }
\item[{const uint32\_\-t \&}]{reuse, }
\item[{const UdpOpenAndBindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-and\_\-bind@{send\_\-udp\_\-open\_\-and\_\-bind}}
\index{send\_\-udp\_\-open\_\-and\_\-bind@{send\_\-udp\_\-open\_\-and\_\-bind}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-and\_\-bind}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-and\_\-bind (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const string \&}]{local\_\-dev, }
\item[{const uint32\_\-t \&}]{reuse, }
\item[{const UdpOpenAndBindCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2290cd833d39203bed1a02584169af49}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-broadcast@{send\_\-udp\_\-open\_\-bind\_\-broadcast}}
\index{send\_\-udp\_\-open\_\-bind\_\-broadcast@{send\_\-udp\_\-open\_\-bind\_\-broadcast}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-broadcast}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-broadcast (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const bool \&}]{reuse, }
\item[{const bool \&}]{limited, }
\item[{const bool \&}]{connected, }
\item[{const UdpOpenBindBroadcastCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound, and optionally connected, UDP broadcast socket. This socket may be used for sending and receiving \hyperlink{classIPv4}{IPv4} broadcasts on a named if/vif. The TTL is always set to 1 on creation. The creator must specify if this socket is to be used for limited broadcasts (255.255.255.255) as this is a special case on many platforms.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} interface name to bind socket to.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to.\\
\hline
{\em reuse} & allow other sockets to bind to same port.\\
\hline
{\em limited} & set \hyperlink{protocolthe-p}{the} socket up for transmission to \hyperlink{protocolthe-p}{the} limited broadcast address 255.255.255.255.\\
\hline
{\em connected} & connect \hyperlink{protocolthe-p}{the} socket for use with send() not sendto(). \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-broadcast@{send\_\-udp\_\-open\_\-bind\_\-broadcast}}
\index{send\_\-udp\_\-open\_\-bind\_\-broadcast@{send\_\-udp\_\-open\_\-bind\_\-broadcast}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-broadcast}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-broadcast (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const bool \&}]{reuse, }
\item[{const bool \&}]{limited, }
\item[{const bool \&}]{connected, }
\item[{const UdpOpenBindBroadcastCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_aff3861144b1ebd530188e43934e20efe}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound, and optionally connected, UDP broadcast socket. This socket may be used for sending and receiving \hyperlink{classIPv4}{IPv4} broadcasts on a named if/vif. The TTL is always set to 1 on creation. The creator must specify if this socket is to be used for limited broadcasts (255.255.255.255) as this is a special case on many platforms.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} interface name to bind socket to.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to.\\
\hline
{\em reuse} & allow other sockets to bind to same port.\\
\hline
{\em limited} & set \hyperlink{protocolthe-p}{the} socket up for transmission to \hyperlink{protocolthe-p}{the} limited broadcast address 255.255.255.255.\\
\hline
{\em connected} & connect \hyperlink{protocolthe-p}{the} socket for use with send() not sendto(). \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-connect@{send\_\-udp\_\-open\_\-bind\_\-connect}}
\index{send\_\-udp\_\-open\_\-bind\_\-connect@{send\_\-udp\_\-open\_\-bind\_\-connect}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-connect}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-connect (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const UdpOpenBindConnectCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound and connected UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-addr} & \hyperlink{protocolthe-p}{the} address to connect to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-connect@{send\_\-udp\_\-open\_\-bind\_\-connect}}
\index{send\_\-udp\_\-open\_\-bind\_\-connect@{send\_\-udp\_\-open\_\-bind\_\-connect}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-connect}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-connect (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{remote\_\-addr, }
\item[{const uint32\_\-t \&}]{remote\_\-port, }
\item[{const UdpOpenBindConnectCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_a2863819ca1ebae07b177b9fc943167d6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound and connected UDP socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em remote\_\-addr} & \hyperlink{protocolthe-p}{the} address to connect to.\\
\hline
{\em remote\_\-port} & \hyperlink{protocolthe-p}{the} remote port to connect to. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-join@{send\_\-udp\_\-open\_\-bind\_\-join}}
\index{send\_\-udp\_\-open\_\-bind\_\-join@{send\_\-udp\_\-open\_\-bind\_\-join}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-join}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-join (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const uint32\_\-t \&}]{ttl, }
\item[{const bool \&}]{reuse, }
\item[{const UdpOpenBindJoinCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound UDP multicast socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em mcast\_\-addr} & \hyperlink{protocolthe-p}{the} multicast group address to join.\\
\hline
{\em ttl} & \hyperlink{protocolthe-p}{the} TTL to use for this multicast socket.\\
\hline
{\em reuse} & allow other sockets to bind to same multicast group. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}{
\index{XrlSocket4V0p1Client@{XrlSocket4V0p1Client}!send\_\-udp\_\-open\_\-bind\_\-join@{send\_\-udp\_\-open\_\-bind\_\-join}}
\index{send\_\-udp\_\-open\_\-bind\_\-join@{send\_\-udp\_\-open\_\-bind\_\-join}!XrlSocket4V0p1Client@{XrlSocket4V0p1Client}}
\subsubsection[{send\_\-udp\_\-open\_\-bind\_\-join}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4V0p1Client::send\_\-udp\_\-open\_\-bind\_\-join (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{creator, }
\item[{const {\bf IPv4} \&}]{local\_\-addr, }
\item[{const uint32\_\-t \&}]{local\_\-port, }
\item[{const {\bf IPv4} \&}]{mcast\_\-addr, }
\item[{const uint32\_\-t \&}]{ttl, }
\item[{const bool \&}]{reuse, }
\item[{const UdpOpenBindJoinCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4V0p1Client_ac79b50627b4c9b593b03cbb08099f9bb}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Create a bound UDP multicast socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em creator} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} Target instance name of \hyperlink{protocolthe-p}{the} socket creator. The named target must implement socket4\_\-user/0.1.\\
\hline
{\em local\_\-addr} & \hyperlink{protocolthe-p}{the} interface address to bind socket to.\\
\hline
{\em local\_\-port} & \hyperlink{protocolthe-p}{the} port to bind socket to.\\
\hline
{\em mcast\_\-addr} & \hyperlink{protocolthe-p}{the} multicast group address to join.\\
\hline
{\em ttl} & \hyperlink{protocolthe-p}{the} TTL to use for this multicast socket.\\
\hline
{\em reuse} & allow other sockets to bind to same multicast group. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/interfaces/socket4\_\-xif.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/interfaces/socket4\_\-xif.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/interfaces/socket4\_\-xif.cc\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/interfaces/socket4\_\-xif.cc\end{DoxyCompactItemize}
