\hypertarget{classXrlPFSender}{
\section{XrlPFSender Class Reference}
\label{classXrlPFSender}\index{XrlPFSender@{XrlPFSender}}
}
Inheritance diagram for XrlPFSender:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{classXrlPFSender}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPFSender_aec74d01c2826eb972c469ad2c9a8ed94}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, \hyperlink{classXrlArgs}{XrlArgs} $\ast$ $>$::RefPtr {\bfseries SendCallback}}
\label{classXrlPFSender_aec74d01c2826eb972c469ad2c9a8ed94}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPFSender_aaca42ea60e7fc941d460dd603217cb38}{
{\bfseries XrlPFSender} (const string \&name, \hyperlink{classEventLoop}{EventLoop} \&e, const char $\ast$address)}
\label{classXrlPFSender_aaca42ea60e7fc941d460dd603217cb38}

\item 
virtual bool \hyperlink{classXrlPFSender_a078721d7d84771719ea2470e34267d07}{send} (const \hyperlink{classXrl}{Xrl} \&xrl, bool direct\_\-call, const SendCallback \&cb)=0
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} an \hyperlink{classXrl}{Xrl}. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPFSender_af3391c28236a2476095e4ac0eba61969}{
virtual bool {\bfseries sends\_\-pending} () const =0}
\label{classXrlPFSender_af3391c28236a2476095e4ac0eba61969}

\item 
\hypertarget{classXrlPFSender_a0e8a09b3739cbd5c25ea217a2989fe11}{
virtual const char $\ast$ {\bfseries protocol} () const =0}
\label{classXrlPFSender_a0e8a09b3739cbd5c25ea217a2989fe11}

\item 
virtual bool \hyperlink{classXrlPFSender_a2fd3fb9bfcebed75807562ba96eb9df6}{alive} () const =0
\begin{DoxyCompactList}\small\item\em Determine if \hyperlink{protocolthe-p}{the} underlying transport is still open. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPFSender_a7eda97267087d9d5c705ec485bb417cd}{
virtual void {\bfseries batch\_\-start} ()}
\label{classXrlPFSender_a7eda97267087d9d5c705ec485bb417cd}

\item 
\hypertarget{classXrlPFSender_a68ba143a083e882aee7db060a1a28680}{
virtual void {\bfseries batch\_\-stop} ()}
\label{classXrlPFSender_a68ba143a083e882aee7db060a1a28680}

\item 
\hypertarget{classXrlPFSender_a1e1a8c313316d7ece178181a1fdd1f5e}{
const string \& {\bfseries address} () const }
\label{classXrlPFSender_a1e1a8c313316d7ece178181a1fdd1f5e}

\item 
\hypertarget{classXrlPFSender_a88763a21871590a6ad64929b72d1dca8}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} () const }
\label{classXrlPFSender_a88763a21871590a6ad64929b72d1dca8}

\item 
\hypertarget{classXrlPFSender_ab31c312e70b7402935423c26cf90f4c6}{
virtual void {\bfseries set\_\-address} (const char $\ast$a)}
\label{classXrlPFSender_ab31c312e70b7402935423c26cf90f4c6}

\item 
\hypertarget{classXrlPFSender_adfbe5f8ae22935d897b322d07aa58986}{
virtual string {\bfseries toString} () const }
\label{classXrlPFSender_adfbe5f8ae22935d897b322d07aa58986}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPFSender_ae94d148f02058279ef8df363e4207d6f}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classXrlPFSender_ae94d148f02058279ef8df363e4207d6f}

\item 
\hypertarget{classXrlPFSender_a2d0d1f5691d2cc17fbd73f738d1ea679}{
string {\bfseries \_\-address}}
\label{classXrlPFSender_a2d0d1f5691d2cc17fbd73f738d1ea679}

\item 
\hypertarget{classXrlPFSender_a322fd85b68a2993db6a6ba3c8f6e41de}{
string {\bfseries \_\-name}}
\label{classXrlPFSender_a322fd85b68a2993db6a6ba3c8f6e41de}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlPFSender_a2fd3fb9bfcebed75807562ba96eb9df6}{
\index{XrlPFSender@{XrlPFSender}!alive@{alive}}
\index{alive@{alive}!XrlPFSender@{XrlPFSender}}
\subsubsection[{alive}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool XrlPFSender::alive (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classXrlPFSender_a2fd3fb9bfcebed75807562ba96eb9df6}


Determine if \hyperlink{protocolthe-p}{the} underlying transport is still open. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} transport is alive. 
\end{DoxyReturn}


Implemented in \hyperlink{classXrlPFSTCPSender_a17cb1bbab3eda0912acf8c2eb5c2780c}{XrlPFSTCPSender}.

\hypertarget{classXrlPFSender_a078721d7d84771719ea2470e34267d07}{
\index{XrlPFSender@{XrlPFSender}!send@{send}}
\index{send@{send}!XrlPFSender@{XrlPFSender}}
\subsubsection[{send}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool XrlPFSender::send (
\begin{DoxyParamCaption}
\item[{const {\bf Xrl} \&}]{xrl, }
\item[{bool}]{direct\_\-call, }
\item[{const SendCallback \&}]{cb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classXrlPFSender_a078721d7d84771719ea2470e34267d07}


\hyperlink{structSend}{Send} an \hyperlink{classXrl}{Xrl}. 

This method attempts to perform \hyperlink{protocolthe-p}{the} sender side processing of an XRL.

If a direct\_\-call \hyperlink{protocolthe-p}{the} method will return true or false to indicate success to \hyperlink{protocolthe-p}{the} caller. If not a direct call, a failure will be communicated via a callback since there's no way to get \hyperlink{protocolthe-p}{the} information directly back to \hyperlink{protocolthe-p}{the} caller.


\begin{DoxyParams}{Parameters}
{\em xrl} & XRL to be sent. \\
\hline
{\em direct\_\-call} & indication of whether \hyperlink{protocolthe-p}{the} caller is on \hyperlink{protocolthe-p}{the} stack. \\
\hline
{\em cb} & Callback to be invoked with result. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classXrlPFSTCPSender_a1254b6396832842fc518628102335049}{XrlPFSTCPSender}.



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