\hypertarget{classXrlSocket4UserV0p1Client}{
\section{XrlSocket4UserV0p1Client Class Reference}
\label{classXrlSocket4UserV0p1Client}\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlSocket4UserV0p1Client_a49b13d194807bce46cfacb64e432ddea}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries RecvEventCB}}
\label{classXrlSocket4UserV0p1Client_a49b13d194807bce46cfacb64e432ddea}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a33baa1363af69cb86bea7fe979574799}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const bool $\ast$ $>$::RefPtr {\bfseries InboundConnectEventCB}}
\label{classXrlSocket4UserV0p1Client_a33baa1363af69cb86bea7fe979574799}

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

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

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

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

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a33baa1363af69cb86bea7fe979574799}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const bool $\ast$ $>$::RefPtr {\bfseries InboundConnectEventCB}}
\label{classXrlSocket4UserV0p1Client_a33baa1363af69cb86bea7fe979574799}

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

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

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

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

\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}{send\_\-recv\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const vector$<$ uint8\_\-t $>$ \&data, const RecvEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}{send\_\-inbound\_\-connect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const string \&new\_\-sockid, const InboundConnectEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}{send\_\-outgoing\_\-connect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const OutgoingConnectEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}{send\_\-error\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&error, const bool \&fatal, const ErrorEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}{send\_\-disconnect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const DisconnectEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
\hypertarget{classXrlSocket4UserV0p1Client_a08821fcbaf67d9b3a31afd9a47aa9d57}{
{\bfseries XrlSocket4UserV0p1Client} (\hyperlink{classXrlSender}{XrlSender} $\ast$s)}
\label{classXrlSocket4UserV0p1Client_a08821fcbaf67d9b3a31afd9a47aa9d57}

\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}{send\_\-recv\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const vector$<$ uint8\_\-t $>$ \&data, const RecvEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}{send\_\-inbound\_\-connect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const string \&new\_\-sockid, const InboundConnectEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}{send\_\-outgoing\_\-connect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const OutgoingConnectEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}{send\_\-error\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const string \&error, const bool \&fatal, const ErrorEventCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}{send\_\-disconnect\_\-event} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&sockid, const DisconnectEventCB \&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{classXrlSocket4UserV0p1Client_a5b67f341dcb4cd710e1792014fe65be0}{
\hyperlink{classXrlSender}{XrlSender} $\ast$ {\bfseries \_\-sender}}
\label{classXrlSocket4UserV0p1Client_a5b67f341dcb4cd710e1792014fe65be0}

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

\item 
\hypertarget{classXrlSocket4UserV0p1Client_af4c74c412678bd6de8510a8baad6f44b}{
static void {\bfseries unmarshall\_\-inbound\_\-connect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, InboundConnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_af4c74c412678bd6de8510a8baad6f44b}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_ab7d582cfe50d454ed6a9af07f95209bb}{
static void {\bfseries unmarshall\_\-outgoing\_\-connect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, OutgoingConnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_ab7d582cfe50d454ed6a9af07f95209bb}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a0655d663ee434f623859290e42f842ce}{
static void {\bfseries unmarshall\_\-error\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, ErrorEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a0655d663ee434f623859290e42f842ce}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a2eaf78feeff0a5fe8b5d0c8df43501e1}{
static void {\bfseries unmarshall\_\-disconnect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, DisconnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a2eaf78feeff0a5fe8b5d0c8df43501e1}

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

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a406827a6f966b6dc745e0d72e919678f}{
static void {\bfseries unmarshall\_\-inbound\_\-connect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, InboundConnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a406827a6f966b6dc745e0d72e919678f}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a30941d89b6207c7a277c149069907bea}{
static void {\bfseries unmarshall\_\-outgoing\_\-connect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, OutgoingConnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a30941d89b6207c7a277c149069907bea}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a735cd9cebdb86852727ba880b69cc04a}{
static void {\bfseries unmarshall\_\-error\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, ErrorEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a735cd9cebdb86852727ba880b69cc04a}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a9d37909d97da5f361666f1be3d50dc96}{
static void {\bfseries unmarshall\_\-disconnect\_\-event} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, DisconnectEventCB cb)}
\label{classXrlSocket4UserV0p1Client_a9d37909d97da5f361666f1be3d50dc96}

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

\item 
\hypertarget{classXrlSocket4UserV0p1Client_ae84f7223c4a845fc7bf647050f457c10}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-inbound\_\-connect\_\-event}}
\label{classXrlSocket4UserV0p1Client_ae84f7223c4a845fc7bf647050f457c10}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a8887e20117191f49eed14ef99b1f6a63}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-outgoing\_\-connect\_\-event}}
\label{classXrlSocket4UserV0p1Client_a8887e20117191f49eed14ef99b1f6a63}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a22807674a2c81514a3c447f4268f8221}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-error\_\-event}}
\label{classXrlSocket4UserV0p1Client_a22807674a2c81514a3c447f4268f8221}

\item 
\hypertarget{classXrlSocket4UserV0p1Client_a8490b211e96e2573fec846b27b4e5dd6}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-disconnect\_\-event}}
\label{classXrlSocket4UserV0p1Client_a8490b211e96e2573fec846b27b4e5dd6}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-disconnect\_\-event@{send\_\-disconnect\_\-event}}
\index{send\_\-disconnect\_\-event@{send\_\-disconnect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const DisconnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}


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

Method invoked by target implementing socket4/0.1 when \hyperlink{protocolthe-p}{the} peer has closed \hyperlink{protocolthe-p}{the} connection. It applies only to TCP sockets. Note that \hyperlink{protocolthe-p}{the} socket itself is left open and must be explicitly closed.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-disconnect\_\-event@{send\_\-disconnect\_\-event}}
\index{send\_\-disconnect\_\-event@{send\_\-disconnect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const DisconnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a237a77853256f7e3aef51f7aed1e005a}


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

Method invoked by target implementing socket4/0.1 when \hyperlink{protocolthe-p}{the} peer has closed \hyperlink{protocolthe-p}{the} connection. It applies only to TCP sockets. Note that \hyperlink{protocolthe-p}{the} socket itself is left open and must be explicitly closed.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-error\_\-event@{send\_\-error\_\-event}}
\index{send\_\-error\_\-event@{send\_\-error\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-error\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-error\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{error, }
\item[{const bool \&}]{fatal, }
\item[{const ErrorEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}


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

Method invoked by target implementing socket4/0.1 when an error occurs.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em error} & a textual description of \hyperlink{protocolthe-p}{the} error.\\
\hline
{\em fatal} & indication of whether socket is shutdown because of error. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-error\_\-event@{send\_\-error\_\-event}}
\index{send\_\-error\_\-event@{send\_\-error\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-error\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-error\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{error, }
\item[{const bool \&}]{fatal, }
\item[{const ErrorEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_accb9f1fd6e165ec561445deecf9b546b}


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

Method invoked by target implementing socket4/0.1 when an error occurs.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em error} & a textual description of \hyperlink{protocolthe-p}{the} error.\\
\hline
{\em fatal} & indication of whether socket is shutdown because of error. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-inbound\_\-connect\_\-event@{send\_\-inbound\_\-connect\_\-event}}
\index{send\_\-inbound\_\-connect\_\-event@{send\_\-inbound\_\-connect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-inbound\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-inbound\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const string \&}]{new\_\-sockid, }
\item[{const InboundConnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}


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

Method invoked by target implementing socket4/0.1 when a connection request is received from an \hyperlink{classIPv4}{IPv4} source. It applies only to TCP sockets.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em src\_\-host} & \hyperlink{protocolthe-p}{the} connecting host.\\
\hline
{\em src\_\-port} & \hyperlink{protocolthe-p}{the} connecting IP port.\\
\hline
{\em new\_\-sockid} & \hyperlink{protocolthe-p}{the} identifier associated with \hyperlink{protocolthe-p}{the} new socket that has been created to handle \hyperlink{protocolthe-p}{the} new connection. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-inbound\_\-connect\_\-event@{send\_\-inbound\_\-connect\_\-event}}
\index{send\_\-inbound\_\-connect\_\-event@{send\_\-inbound\_\-connect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-inbound\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-inbound\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const string \&}]{new\_\-sockid, }
\item[{const InboundConnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a55f25daf91013950d33a7cf7843246fd}


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

Method invoked by target implementing socket4/0.1 when a connection request is received from an \hyperlink{classIPv4}{IPv4} source. It applies only to TCP sockets.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em src\_\-host} & \hyperlink{protocolthe-p}{the} connecting host.\\
\hline
{\em src\_\-port} & \hyperlink{protocolthe-p}{the} connecting IP port.\\
\hline
{\em new\_\-sockid} & \hyperlink{protocolthe-p}{the} identifier associated with \hyperlink{protocolthe-p}{the} new socket that has been created to handle \hyperlink{protocolthe-p}{the} new connection. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-outgoing\_\-connect\_\-event@{send\_\-outgoing\_\-connect\_\-event}}
\index{send\_\-outgoing\_\-connect\_\-event@{send\_\-outgoing\_\-connect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-outgoing\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-outgoing\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const OutgoingConnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}


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

Method invoked by target implementing socket4/0.1 when an outgoing connection request originated by \hyperlink{protocolthe-p}{the} local host is completed. It applies only to TCP sockets. Note that if \hyperlink{protocolthe-p}{the} connection failed, \hyperlink{protocolthe-p}{the} error\_\-event will be dispatched instead.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-outgoing\_\-connect\_\-event@{send\_\-outgoing\_\-connect\_\-event}}
\index{send\_\-outgoing\_\-connect\_\-event@{send\_\-outgoing\_\-connect\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-outgoing\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-outgoing\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const OutgoingConnectEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_ad76b79969befa7fa694dd9c2f46fed7d}


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

Method invoked by target implementing socket4/0.1 when an outgoing connection request originated by \hyperlink{protocolthe-p}{the} local host is completed. It applies only to TCP sockets. Note that if \hyperlink{protocolthe-p}{the} connection failed, \hyperlink{protocolthe-p}{the} error\_\-event will be dispatched instead.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-recv\_\-event@{send\_\-recv\_\-event}}
\index{send\_\-recv\_\-event@{send\_\-recv\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-recv\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-recv\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const RecvEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}


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

Method invoked by target implementing socket4/0.1 when a packet arrives from an \hyperlink{classIPv4}{IPv4} source.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name \hyperlink{protocolthe-p}{the} packet arrived on, if known. If unknown, then it is an empty string.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name \hyperlink{protocolthe-p}{the} packet arrived on, if known. If unknown, then it is an empty string.\\
\hline
{\em src\_\-host} & \hyperlink{protocolthe-p}{the} originating host.\\
\hline
{\em src\_\-port} & \hyperlink{protocolthe-p}{the} originating IP port.\\
\hline
{\em data} & \hyperlink{protocolthe-p}{the} data received. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}{
\index{XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}!send\_\-recv\_\-event@{send\_\-recv\_\-event}}
\index{send\_\-recv\_\-event@{send\_\-recv\_\-event}!XrlSocket4UserV0p1Client@{XrlSocket4UserV0p1Client}}
\subsubsection[{send\_\-recv\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlSocket4UserV0p1Client::send\_\-recv\_\-event (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{sockid, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{data, }
\item[{const RecvEventCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlSocket4UserV0p1Client_a1d4ebddaaf590e34038aa7098fe8941e}


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

Method invoked by target implementing socket4/0.1 when a packet arrives from an \hyperlink{classIPv4}{IPv4} source.


\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} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred.\\
\hline
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name \hyperlink{protocolthe-p}{the} packet arrived on, if known. If unknown, then it is an empty string.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name \hyperlink{protocolthe-p}{the} packet arrived on, if known. If unknown, then it is an empty string.\\
\hline
{\em src\_\-host} & \hyperlink{protocolthe-p}{the} originating host.\\
\hline
{\em src\_\-port} & \hyperlink{protocolthe-p}{the} originating IP port.\\
\hline
{\em data} & \hyperlink{protocolthe-p}{the} data received. \\
\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\_\-user\_\-xif.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/interfaces/socket4\_\-user\_\-xif.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/interfaces/socket4\_\-user\_\-xif.cc\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/interfaces/socket4\_\-user\_\-xif.cc\end{DoxyCompactItemize}
