\hypertarget{classFinderTcpMessenger}{
\section{FinderTcpMessenger Class Reference}
\label{classFinderTcpMessenger}\index{FinderTcpMessenger@{FinderTcpMessenger}}
}
Inheritance diagram for FinderTcpMessenger:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classFinderTcpMessenger}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinderTcpMessenger_a7f8bb4d5deabdb0aa36534024cccfa34}{
{\bfseries FinderTcpMessenger} (\hyperlink{classEventLoop}{EventLoop} \&e, \hyperlink{classFinderMessengerManager}{FinderMessengerManager} $\ast$mm, \hyperlink{classXorpFd}{XorpFd} sock, \hyperlink{classXrlCmdMap}{XrlCmdMap} \&cmds)}
\label{classFinderTcpMessenger_a7f8bb4d5deabdb0aa36534024cccfa34}

\item 
bool \hyperlink{classFinderTcpMessenger_a763d25e2260fb5948782d261e80faf7d}{send} (const \hyperlink{classXrl}{Xrl} \&xrl, const SendCallback \&scb)
\item 
\hypertarget{classFinderTcpMessenger_a106881a3df2834ae98f6401ead979a14}{
bool \hyperlink{classFinderTcpMessenger_a106881a3df2834ae98f6401ead979a14}{pending} () const }
\label{classFinderTcpMessenger_a106881a3df2834ae98f6401ead979a14}

\begin{DoxyCompactList}\small\item\em Return true if sender has send requests pending. \item\end{DoxyCompactList}\item 
\hypertarget{classFinderTcpMessenger_a5c42a2eaeb30f004730c22f307ad71be}{
void {\bfseries close} ()}
\label{classFinderTcpMessenger_a5c42a2eaeb30f004730c22f307ad71be}

\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinderTcpMessenger_abf8a6e1fa7bb4d70c3be3aa2cacf8153}{
typedef list$<$ const \hyperlink{classFinderMessageBase}{FinderMessageBase} $\ast$ $>$ {\bfseries OutputQueue}}
\label{classFinderTcpMessenger_abf8a6e1fa7bb4d70c3be3aa2cacf8153}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classFinderTcpMessenger_a6fc365ecacbb88ee60a81e01ca3605f0}{read\_\-event} (int errval, const uint8\_\-t $\ast$data, uint32\_\-t data\_\-bytes)
\begin{DoxyCompactList}\small\item\em Method to be implemented by derived classes that is called when data arrives or an error occurs when processing when data arrives. \item\end{DoxyCompactList}\item 
void \hyperlink{classFinderTcpMessenger_a2b8f314c0f343dac6da5195a5033a475}{write\_\-event} (int errval, const uint8\_\-t $\ast$data, uint32\_\-t data\_\-bytes)
\begin{DoxyCompactList}\small\item\em Method to be implemented by derived classes that is called when data writing completes or an error occurs when processing when write. \item\end{DoxyCompactList}\item 
\hypertarget{classFinderTcpMessenger_af46c2d87be70304a890816bd19c702ae}{
void \hyperlink{classFinderTcpMessenger_af46c2d87be70304a890816bd19c702ae}{close\_\-event} ()}
\label{classFinderTcpMessenger_af46c2d87be70304a890816bd19c702ae}

\begin{DoxyCompactList}\small\item\em Method that may be implemented by derived classes for detecting when \hyperlink{protocolthe-p}{the} underlying socket is closed. \item\end{DoxyCompactList}\item 
\hypertarget{classFinderTcpMessenger_ab81cd8190ea5c1f98e54bd94cc1605c3}{
void {\bfseries error\_\-event} ()}
\label{classFinderTcpMessenger_ab81cd8190ea5c1f98e54bd94cc1605c3}

\item 
\hypertarget{classFinderTcpMessenger_abfa19edbc044497df46392538a020d7b}{
void {\bfseries reply} (uint32\_\-t seqno, const \hyperlink{classXrlError}{XrlError} \&xe, const \hyperlink{classXrlArgs}{XrlArgs} $\ast$reply\_\-args)}
\label{classFinderTcpMessenger_abfa19edbc044497df46392538a020d7b}

\item 
\hypertarget{classFinderTcpMessenger_ae49a0254a5318fbde305d3ec21df0bb1}{
void {\bfseries push\_\-queue} ()}
\label{classFinderTcpMessenger_ae49a0254a5318fbde305d3ec21df0bb1}

\item 
\hypertarget{classFinderTcpMessenger_ab61d4dae44ecfbdad48e4e5c49f58f14}{
void {\bfseries drain\_\-queue} ()}
\label{classFinderTcpMessenger_ab61d4dae44ecfbdad48e4e5c49f58f14}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinderTcpMessenger_aca8fd80680a08d7a671502bd174725d2}{
OutputQueue {\bfseries \_\-out\_\-queue}}
\label{classFinderTcpMessenger_aca8fd80680a08d7a671502bd174725d2}

\end{DoxyCompactItemize}
\subsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinderTcpMessenger_aefa93f6c62e658b3c696985df487c3db}{
static const uint32\_\-t {\bfseries OUTQUEUE\_\-BLOCK\_\-READ\_\-HI\_\-MARK} = 6}
\label{classFinderTcpMessenger_aefa93f6c62e658b3c696985df487c3db}

\item 
\hypertarget{classFinderTcpMessenger_a559c8d6a331c2d8ade6ef7fdf7b6b8f0}{
static const uint32\_\-t {\bfseries OUTQUEUE\_\-BLOCK\_\-READ\_\-LO\_\-MARK} = 4}
\label{classFinderTcpMessenger_a559c8d6a331c2d8ade6ef7fdf7b6b8f0}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classFinderTcpMessenger_a6fc365ecacbb88ee60a81e01ca3605f0}{
\index{FinderTcpMessenger@{FinderTcpMessenger}!read\_\-event@{read\_\-event}}
\index{read\_\-event@{read\_\-event}!FinderTcpMessenger@{FinderTcpMessenger}}
\subsubsection[{read\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}bool FinderTcpMessenger::read\_\-event (
\begin{DoxyParamCaption}
\item[{int}]{errval, }
\item[{const uint8\_\-t $\ast$}]{data, }
\item[{uint32\_\-t}]{data\_\-bytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFinderTcpMessenger_a6fc365ecacbb88ee60a81e01ca3605f0}


Method to be implemented by derived classes that is called when data arrives or an error occurs when processing when data arrives. 


\begin{DoxyParams}{Parameters}
{\em errval} & error code, values are equivalent to errno. \\
\hline
{\em data} & pointer to data \\
\hline
{\em data\_\-bytes} & size of data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} data was processed without an error and \hyperlink{protocolthe-p}{the} connection was kept, otherwise false. 
\end{DoxyReturn}


Implements \hyperlink{classFinderTcpBase_a7e42a4051b4baacf148755bc8f2a28e5}{FinderTcpBase}.

\hypertarget{classFinderTcpMessenger_a763d25e2260fb5948782d261e80faf7d}{
\index{FinderTcpMessenger@{FinderTcpMessenger}!send@{send}}
\index{send@{send}!FinderTcpMessenger@{FinderTcpMessenger}}
\subsubsection[{send}]{\setlength{\rightskip}{0pt plus 5cm}bool FinderTcpMessenger::send (
\begin{DoxyParamCaption}
\item[{const {\bf Xrl} \&}]{xrl, }
\item[{const SendCallback \&}]{scb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFinderTcpMessenger_a763d25e2260fb5948782d261e80faf7d}

\begin{DoxyParams}{Parameters}
{\em xrl} & \hyperlink{classXrl}{Xrl} to be sent. \\
\hline
{\em scb} & callback to be invoked with result from \hyperlink{classXrl}{Xrl}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if \hyperlink{classXrl}{Xrl} is accepted for sending, false otherwise. 
\end{DoxyReturn}


Implements \hyperlink{classFinderMessengerBase_ad9115b56d587d89624edda9f315c4673}{FinderMessengerBase}.

\hypertarget{classFinderTcpMessenger_a2b8f314c0f343dac6da5195a5033a475}{
\index{FinderTcpMessenger@{FinderTcpMessenger}!write\_\-event@{write\_\-event}}
\index{write\_\-event@{write\_\-event}!FinderTcpMessenger@{FinderTcpMessenger}}
\subsubsection[{write\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void FinderTcpMessenger::write\_\-event (
\begin{DoxyParamCaption}
\item[{int}]{errval, }
\item[{const uint8\_\-t $\ast$}]{data, }
\item[{uint32\_\-t}]{data\_\-bytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFinderTcpMessenger_a2b8f314c0f343dac6da5195a5033a475}


Method to be implemented by derived classes that is called when data writing completes or an error occurs when processing when write. 


\begin{DoxyParams}{Parameters}
{\em errval} & error code, values are equivalent to errno. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFinderTcpBase_ac7f3903fd6ade715f647038ed12abce8}{FinderTcpBase}.



The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/finder\_\-tcp\_\-messenger.hh\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/finder\_\-tcp\_\-messenger.cc\end{DoxyCompactItemize}
