\hypertarget{structXrlTestSocket4TargetBase}{
\section{XrlTestSocket4TargetBase Class Reference}
\label{structXrlTestSocket4TargetBase}\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
}
Inheritance diagram for XrlTestSocket4TargetBase:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{structXrlTestSocket4TargetBase}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structXrlTestSocket4TargetBase_1_1handler__table}{handler\_\-table}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}{XrlTestSocket4TargetBase} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds=0)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlTestSocket4TargetBase_a27e118a3264f119bf7271a679f30e32d}{$\sim$XrlTestSocket4TargetBase} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
bool \hyperlink{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}{set\_\-command\_\-map} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds)
\begin{DoxyCompactList}\small\item\em Set command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}{
const string \& \hyperlink{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}{get\_\-name} () const }
\label{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classXrl}{Xrl} instance name associated with command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}{
const char $\ast$ \hyperlink{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}{version} () const }
\label{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}

\begin{DoxyCompactList}\small\item\em Get version string of instance. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}{XrlTestSocket4TargetBase} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds=0)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlTestSocket4TargetBase_ab568d823e3fb8567178622443abb56e2}{$\sim$XrlTestSocket4TargetBase} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
bool \hyperlink{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}{set\_\-command\_\-map} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds)
\begin{DoxyCompactList}\small\item\em Set command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}{
const string \& \hyperlink{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}{get\_\-name} () const }
\label{structXrlTestSocket4TargetBase_a09ff25e2d46bc0e7dfe2fdc587a6dcfb}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classXrl}{Xrl} instance name associated with command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}{
const char $\ast$ \hyperlink{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}{version} () const }
\label{structXrlTestSocket4TargetBase_a8bfa02bb416bd234883484e0823bbd01}

\begin{DoxyCompactList}\small\item\em Get version string of instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}{common\_\-0\_\-1\_\-get\_\-version} (string \&version)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}{common\_\-0\_\-1\_\-get\_\-status} (uint32\_\-t \&status, string \&reason)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}{common\_\-0\_\-1\_\-shutdown} ()=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}{common\_\-0\_\-1\_\-startup} ()=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event} (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)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event} (const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const string \&new\_\-sockid, bool \&accept)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event} (const string \&sockid)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}{socket4\_\-user\_\-0\_\-1\_\-error\_\-event} (const string \&sockid, const string \&error, const bool \&fatal)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event} (const string \&sockid)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}{common\_\-0\_\-1\_\-get\_\-version} (string \&version)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}{common\_\-0\_\-1\_\-get\_\-status} (uint32\_\-t \&status, string \&reason)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}{common\_\-0\_\-1\_\-shutdown} ()=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}{common\_\-0\_\-1\_\-startup} ()=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event} (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)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event} (const string \&sockid, const \hyperlink{classIPv4}{IPv4} \&src\_\-host, const uint32\_\-t \&src\_\-port, const string \&new\_\-sockid, bool \&accept)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event} (const string \&sockid)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}{socket4\_\-user\_\-0\_\-1\_\-error\_\-event} (const string \&sockid, const string \&error, const bool \&fatal)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event} (const string \&sockid)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlTestSocket4TargetBase_a921f22eebc6c3e5b765a3b94bee1d35b}{
\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$ {\bfseries \_\-cmds}}
\label{structXrlTestSocket4TargetBase_a921f22eebc6c3e5b765a3b94bee1d35b}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlTestSocket4TargetBase_a9db7c66646c47a243493abc8cb9b1dad}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-target\_\-name} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a9db7c66646c47a243493abc8cb9b1dad}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a90025bc5b4ceb1128366b8dd92f0a43f}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-version} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a90025bc5b4ceb1128366b8dd92f0a43f}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a7256f44c92f138c8b5285e7998fad45d}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-status} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a7256f44c92f138c8b5285e7998fad45d}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a3447179a7a30ce3f06c4762b34a0de3e}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-shutdown} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a3447179a7a30ce3f06c4762b34a0de3e}

\item 
\hypertarget{structXrlTestSocket4TargetBase_af284e43299134603ac9b97346e6d8e0f}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-startup} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_af284e43299134603ac9b97346e6d8e0f}

\item 
\hypertarget{structXrlTestSocket4TargetBase_aaa21e009606b655e129dfe1653571cc9}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-recv\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_aaa21e009606b655e129dfe1653571cc9}

\item 
\hypertarget{structXrlTestSocket4TargetBase_afc472238ae74da761449d9bc372c3d99}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_afc472238ae74da761449d9bc372c3d99}

\item 
\hypertarget{structXrlTestSocket4TargetBase_aa0c21a7aa34bec3a1fb4e40fb904b6c6}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_aa0c21a7aa34bec3a1fb4e40fb904b6c6}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a4bcb6e1d9ee4ff74caf660c466197313}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-error\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a4bcb6e1d9ee4ff74caf660c466197313}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a3caa50567f1cfae632d4fe690fe80164}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a3caa50567f1cfae632d4fe690fe80164}

\item 
\hypertarget{structXrlTestSocket4TargetBase_afb6eef5fb3ca39135f2bad19f79daa2c}{
void {\bfseries add\_\-handlers} ()}
\label{structXrlTestSocket4TargetBase_afb6eef5fb3ca39135f2bad19f79daa2c}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a85e242997cbf26ee25c64a1924d163c7}{
void {\bfseries remove\_\-handlers} ()}
\label{structXrlTestSocket4TargetBase_a85e242997cbf26ee25c64a1924d163c7}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a9db7c66646c47a243493abc8cb9b1dad}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-target\_\-name} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a9db7c66646c47a243493abc8cb9b1dad}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a90025bc5b4ceb1128366b8dd92f0a43f}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-version} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a90025bc5b4ceb1128366b8dd92f0a43f}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a7256f44c92f138c8b5285e7998fad45d}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-get\_\-status} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a7256f44c92f138c8b5285e7998fad45d}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a3447179a7a30ce3f06c4762b34a0de3e}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-shutdown} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a3447179a7a30ce3f06c4762b34a0de3e}

\item 
\hypertarget{structXrlTestSocket4TargetBase_af284e43299134603ac9b97346e6d8e0f}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-common\_\-0\_\-1\_\-startup} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_af284e43299134603ac9b97346e6d8e0f}

\item 
\hypertarget{structXrlTestSocket4TargetBase_aaa21e009606b655e129dfe1653571cc9}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-recv\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_aaa21e009606b655e129dfe1653571cc9}

\item 
\hypertarget{structXrlTestSocket4TargetBase_afc472238ae74da761449d9bc372c3d99}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_afc472238ae74da761449d9bc372c3d99}

\item 
\hypertarget{structXrlTestSocket4TargetBase_aa0c21a7aa34bec3a1fb4e40fb904b6c6}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_aa0c21a7aa34bec3a1fb4e40fb904b6c6}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a4bcb6e1d9ee4ff74caf660c466197313}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-error\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a4bcb6e1d9ee4ff74caf660c466197313}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a3caa50567f1cfae632d4fe690fe80164}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlTestSocket4TargetBase_a3caa50567f1cfae632d4fe690fe80164}

\item 
\hypertarget{structXrlTestSocket4TargetBase_afb6eef5fb3ca39135f2bad19f79daa2c}{
void {\bfseries add\_\-handlers} ()}
\label{structXrlTestSocket4TargetBase_afb6eef5fb3ca39135f2bad19f79daa2c}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a85e242997cbf26ee25c64a1924d163c7}{
void {\bfseries remove\_\-handlers} ()}
\label{structXrlTestSocket4TargetBase_a85e242997cbf26ee25c64a1924d163c7}

\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlTestSocket4TargetBase_a419f81bdac6284817876e0e47d455afe}{
static struct \hyperlink{structXrlTestSocket4TargetBase_1_1handler__table}{handler\_\-table} {\bfseries handlers} \mbox{[}$\,$\mbox{]}}
\label{structXrlTestSocket4TargetBase_a419f81bdac6284817876e0e47d455afe}

\item 
\hypertarget{structXrlTestSocket4TargetBase_a41e92f514b41ccf669d3b941fae83618}{
static const size\_\-t {\bfseries num\_\-handlers} = (sizeof(XrlTestSocket4TargetBase::handlers) / sizeof(XrlTestSocket4TargetBase::handlers\mbox{[}0\mbox{]}))}
\label{structXrlTestSocket4TargetBase_a41e92f514b41ccf669d3b941fae83618}

\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{XrlTestSocket4TargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlTestSocket4TargetBase::XrlTestSocket4TargetBase (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em cmds} & an \hyperlink{classXrlCmdMap}{XrlCmdMap} that \hyperlink{protocolthe-p}{the} commands associated with \hyperlink{protocolthe-p}{the} target should be added to. This is typically \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target. \\
\hline
\end{DoxyParams}
\hypertarget{structXrlTestSocket4TargetBase_a27e118a3264f119bf7271a679f30e32d}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!$\sim$XrlTestSocket4TargetBase@{$\sim$XrlTestSocket4TargetBase}}
\index{$\sim$XrlTestSocket4TargetBase@{$\sim$XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{$\sim$XrlTestSocket4TargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlTestSocket4TargetBase::$\sim$XrlTestSocket4TargetBase (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a27e118a3264f119bf7271a679f30e32d}


Destructor. 

Dissociates instance commands from command map. \hypertarget{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{XrlTestSocket4TargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlTestSocket4TargetBase::XrlTestSocket4TargetBase (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{structXrlTestSocket4TargetBase_acb57d08a4ffd7dc1fe37ccd95ac9b6c0}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em cmds} & an \hyperlink{classXrlCmdMap}{XrlCmdMap} that \hyperlink{protocolthe-p}{the} commands associated with \hyperlink{protocolthe-p}{the} target should be added to. This is typically \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target. \\
\hline
\end{DoxyParams}
\hypertarget{structXrlTestSocket4TargetBase_ab568d823e3fb8567178622443abb56e2}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!$\sim$XrlTestSocket4TargetBase@{$\sim$XrlTestSocket4TargetBase}}
\index{$\sim$XrlTestSocket4TargetBase@{$\sim$XrlTestSocket4TargetBase}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{$\sim$XrlTestSocket4TargetBase}]{\setlength{\rightskip}{0pt plus 5cm}virtual XrlTestSocket4TargetBase::$\sim$XrlTestSocket4TargetBase (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ab568d823e3fb8567178622443abb56e2}


Destructor. 

Dissociates instance commands from command map. 

\subsection{Member Function Documentation}
\hypertarget{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}}
\index{common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-status (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{status, }
\item[{string \&}]{reason}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}


Pure-\/virtual function that needs to be implemented to: 

Get status of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a5d2124c017a0ef853cb7ef52a02f07e8}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_a3f914899a4a0ca1e76c79e8d636f90a6}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}}
\index{common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-status (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{status, }
\item[{string \&}]{reason}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a49730bf75596f497761844a2a5bfd661}


Pure-\/virtual function that needs to be implemented to: 

Get status of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a5d2124c017a0ef853cb7ef52a02f07e8}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_a3f914899a4a0ca1e76c79e8d636f90a6}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}}
\index{common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-target\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-target\_\-name (
\begin{DoxyParamCaption}
\item[{string \&}]{name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}


Pure-\/virtual function that needs to be implemented to: 

Get name of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_aa8f36ba6865f0a55f5e6010f6cb7856d}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_af8960d1efceef153c81c718d89600486}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}}
\index{common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-target\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-target\_\-name (
\begin{DoxyParamCaption}
\item[{string \&}]{name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a73c2343371fa50e874a35529c668a186}


Pure-\/virtual function that needs to be implemented to: 

Get name of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_aa8f36ba6865f0a55f5e6010f6cb7856d}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_af8960d1efceef153c81c718d89600486}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}}
\index{common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-version (
\begin{DoxyParamCaption}
\item[{string \&}]{version}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}


Pure-\/virtual function that needs to be implemented to: 

Get version string from \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a915a5adba65e94c860aa005f99618b46}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_adddc92fcefdbb80f687cdc1c2d133162}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}}
\index{common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-get\_\-version (
\begin{DoxyParamCaption}
\item[{string \&}]{version}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ac07267901abc9584b0face95bffc4ecf}


Pure-\/virtual function that needs to be implemented to: 

Get version string from \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a915a5adba65e94c860aa005f99618b46}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_adddc92fcefdbb80f687cdc1c2d133162}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}}
\index{common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}


Pure-\/virtual function that needs to be implemented to: 

Request clean shutdown of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a7e39d7e0b2b508cd4aabcee19f6906e9}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_aa3cd57c016942afdfcdeca07056182d4}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}}
\index{common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_abcd0b1021f89c9f6c8dd6518d2039204}


Pure-\/virtual function that needs to be implemented to: 

Request clean shutdown of \hyperlink{classXrl}{Xrl} Target 

Implemented in \hyperlink{classTestSocket4TCP_a7e39d7e0b2b508cd4aabcee19f6906e9}{TestSocket4TCP}, and \hyperlink{classTestSocket4UDP_aa3cd57c016942afdfcdeca07056182d4}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}}
\index{common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}


Pure-\/virtual function that needs to be implemented to: 

Request a startup of \hyperlink{classXrl}{Xrl} Target \hypertarget{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}}
\index{common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{common\_\-0\_\-1\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::common\_\-0\_\-1\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a8f8f5547b433dd2b3b4baf95e791b21d}


Pure-\/virtual function that needs to be implemented to: 

Request a startup of \hyperlink{classXrl}{Xrl} Target \hypertarget{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!set\_\-command\_\-map@{set\_\-command\_\-map}}
\index{set\_\-command\_\-map@{set\_\-command\_\-map}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{set\_\-command\_\-map}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlTestSocket4TargetBase::set\_\-command\_\-map (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds}
\end{DoxyParamCaption}
)}}
\label{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}


Set command map. 


\begin{DoxyParams}{Parameters}
{\em cmds} & pointer to command map to associate commands with. This argument is typically a pointer to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false if cmds is null or a command map has already been supplied. 
\end{DoxyReturn}
\hypertarget{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!set\_\-command\_\-map@{set\_\-command\_\-map}}
\index{set\_\-command\_\-map@{set\_\-command\_\-map}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{set\_\-command\_\-map}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlTestSocket4TargetBase::set\_\-command\_\-map (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds}
\end{DoxyParamCaption}
)}}
\label{structXrlTestSocket4TargetBase_a970e042494410b61837b4ab57c87fa5e}


Set command map. 


\begin{DoxyParams}{Parameters}
{\em cmds} & pointer to command map to associate commands with. This argument is typically a pointer to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false if cmds is null or a command map has already been supplied. 
\end{DoxyReturn}
\hypertarget{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}


Pure-\/virtual function that needs to be implemented 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 sockid} & \hyperlink{protocolthe-p}{the} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_a2c70f2d9e84bec869130f9f9433a400d}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a467a7be495eff7b53fa0ecec28b02da2}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_ae41f53b4adf76bc3c089aaa6374d5e9a}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a841c6765d510278a54a04a7b5bdf32dc}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a346f7e69fcf53708474856d2d12e9298}


Pure-\/virtual function that needs to be implemented 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 sockid} & \hyperlink{protocolthe-p}{the} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_a2c70f2d9e84bec869130f9f9433a400d}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a467a7be495eff7b53fa0ecec28b02da2}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_ae41f53b4adf76bc3c089aaa6374d5e9a}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a841c6765d510278a54a04a7b5bdf32dc}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-error\_\-event@{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-error\_\-event@{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-error\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid, }
\item[{const string \&}]{error, }
\item[{const bool \&}]{fatal}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}


Pure-\/virtual function that needs to be implemented to: 

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


\begin{DoxyParams}{Parameters}
{\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}


Implemented in \hyperlink{classTestSocket4TCP_a6a2c0add6108cadc2a777659c137a817}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_ad7c562b410b0e6f1fedf861568195673}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a2b5bef7cbbc421d5df2be3b4ea7e9224}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a6a5c755e6a2a41a29f47f28fa2e08a37}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-error\_\-event@{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-error\_\-event@{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-error\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-error\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid, }
\item[{const string \&}]{error, }
\item[{const bool \&}]{fatal}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a20ac53c6d156aef646b6cdfb0c089c0d}


Pure-\/virtual function that needs to be implemented to: 

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


\begin{DoxyParams}{Parameters}
{\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}


Implemented in \hyperlink{classTestSocket4TCP_a6a2c0add6108cadc2a777659c137a817}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_ad7c562b410b0e6f1fedf861568195673}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a2b5bef7cbbc421d5df2be3b4ea7e9224}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a6a5c755e6a2a41a29f47f28fa2e08a37}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const string \&}]{new\_\-sockid, }
\item[{bool \&}]{accept}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}


Pure-\/virtual function that needs to be implemented 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 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
{\em accept} & if true, \hyperlink{protocolthe-p}{the} connection request has been accepted, otherwise it has been rejected. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_a3fa2fe3daf7b750380d6a5d686e5a2e8}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a9074a0fe1b0c3f6485f2974595fea26d}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_ad342fca78cb53e4186269b3f63e11595}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a63690fd967a7919ce8ab090bc573759c}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-inbound\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid, }
\item[{const {\bf IPv4} \&}]{src\_\-host, }
\item[{const uint32\_\-t \&}]{src\_\-port, }
\item[{const string \&}]{new\_\-sockid, }
\item[{bool \&}]{accept}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ab5b0797f474fc208c55db83210b0c714}


Pure-\/virtual function that needs to be implemented 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 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
{\em accept} & if true, \hyperlink{protocolthe-p}{the} connection request has been accepted, otherwise it has been rejected. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_a3fa2fe3daf7b750380d6a5d686e5a2e8}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a9074a0fe1b0c3f6485f2974595fea26d}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_ad342fca78cb53e4186269b3f63e11595}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a63690fd967a7919ce8ab090bc573759c}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}


Pure-\/virtual function that needs to be implemented 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 sockid} & \hyperlink{protocolthe-p}{the} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_ac6799d268b1dbbfd3712711ebfc6254c}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a796bf38fe34f19b5d6dd9d8375428bd6}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a665fa3ba46b63bfe4ef16a921ba58af8}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_ac8e94299f7ab60bbc14cc0f4e2b3d10e}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event@{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-outgoing\_\-connect\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{sockid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_a1b39f87a28a0ccff40facbe51f85d6c6}


Pure-\/virtual function that needs to be implemented 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 sockid} & \hyperlink{protocolthe-p}{the} identifier associated with socket where \hyperlink{protocolthe-p}{the} event occurred. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classTestSocket4TCP_ac6799d268b1dbbfd3712711ebfc6254c}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a796bf38fe34f19b5d6dd9d8375428bd6}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a665fa3ba46b63bfe4ef16a921ba58af8}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_ac8e94299f7ab60bbc14cc0f4e2b3d10e}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-recv\_\-event@{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event@{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-recv\_\-event (
\begin{DoxyParamCaption}
\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}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}


Pure-\/virtual function that needs to be implemented to: 

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


\begin{DoxyParams}{Parameters}
{\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}


Implemented in \hyperlink{classTestSocket4TCP_a845bc535792885ac183e4c1d60266955}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a3a15aead7ab951b493158d689f4b0b32}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a291e191fa0ef4c836894eb20b1c232d2}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a8ca393824b4ccd4028a5149bbdf2fec3}{TestSocket4UDP}.

\hypertarget{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}{
\index{XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}!socket4\_\-user\_\-0\_\-1\_\-recv\_\-event@{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}}
\index{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event@{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}!XrlTestSocket4TargetBase@{XrlTestSocket4TargetBase}}
\subsubsection[{socket4\_\-user\_\-0\_\-1\_\-recv\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlTestSocket4TargetBase::socket4\_\-user\_\-0\_\-1\_\-recv\_\-event (
\begin{DoxyParamCaption}
\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}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlTestSocket4TargetBase_ad1da4f7da9c84b04fccd6d75c74c2374}


Pure-\/virtual function that needs to be implemented to: 

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


\begin{DoxyParams}{Parameters}
{\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}


Implemented in \hyperlink{classTestSocket4TCP_a845bc535792885ac183e4c1d60266955}{TestSocket4TCP}, \hyperlink{classTestSocket4TCPServer_a3a15aead7ab951b493158d689f4b0b32}{TestSocket4TCPServer}, \hyperlink{classTestSocket4TCPClient_a291e191fa0ef4c836894eb20b1c232d2}{TestSocket4TCPClient}, and \hyperlink{classTestSocket4UDP_a8ca393824b4ccd4028a5149bbdf2fec3}{TestSocket4UDP}.



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/targets/test\_\-socket4\_\-base.cc\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/targets/test\_\-socket4\_\-base.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/targets/test\_\-socket4\_\-base.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/targets/test\_\-socket4\_\-base.cc\end{DoxyCompactItemize}
