\hypertarget{classRedistXrlTask}{
\section{RedistXrlTask$<$ A $>$ Class Template Reference}
\label{classRedistXrlTask}\index{RedistXrlTask@{RedistXrlTask}}
}


Base class for \hyperlink{classRedistXrlOutput}{RedistXrlOutput} Tasks.  


Inheritance diagram for RedistXrlTask$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=11.000000cm]{classRedistXrlTask}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRedistXrlTask_a36af55c90d38b98e3c3c8961f009c872}{
{\bfseries RedistXrlTask} (\hyperlink{classRedistXrlOutput}{RedistXrlOutput}$<$ A $>$ $\ast$parent)}
\label{classRedistXrlTask_a36af55c90d38b98e3c3c8961f009c872}

\item 
virtual bool \hyperlink{classRedistXrlTask_ad1e6e5ec1dd472ed6cd3c517624f6648}{dispatch} (\hyperlink{classXrlRouter}{XrlRouter} \&xrl\_\-router, \hyperlink{classProfile}{Profile} \&profile)=0
\item 
\hypertarget{classRedistXrlTask_a196a63999aaf9d114489936ed5359480}{
uint32\_\-t \hyperlink{classRedistXrlTask_a196a63999aaf9d114489936ed5359480}{dispatch\_\-attempts} () const }
\label{classRedistXrlTask_a196a63999aaf9d114489936ed5359480}

\begin{DoxyCompactList}\small\item\em Get number of times \hyperlink{classRedistXrlTask_ad1e6e5ec1dd472ed6cd3c517624f6648}{dispatch()} invoked on instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRedistXrlTask_a3272f76fafdff133c5ca39cfc28a49cb}{
void {\bfseries incr\_\-dispatch\_\-attempts} ()}
\label{classRedistXrlTask_a3272f76fafdff133c5ca39cfc28a49cb}

\item 
\hypertarget{classRedistXrlTask_aa4d51c6d152cfa2a77de4d32dbf5240e}{
\hyperlink{classRedistXrlOutput}{RedistXrlOutput}$<$ A $>$ $\ast$ {\bfseries parent} ()}
\label{classRedistXrlTask_aa4d51c6d152cfa2a77de4d32dbf5240e}

\item 
\hypertarget{classRedistXrlTask_add3deb4498e0195bcebe35457e16831f}{
const \hyperlink{classRedistXrlOutput}{RedistXrlOutput}$<$ A $>$ $\ast$ {\bfseries parent} () const }
\label{classRedistXrlTask_add3deb4498e0195bcebe35457e16831f}

\item 
\hypertarget{classRedistXrlTask_ad6a0528bd38523a2dabc3c9780070758}{
void {\bfseries signal\_\-complete\_\-ok} ()}
\label{classRedistXrlTask_ad6a0528bd38523a2dabc3c9780070758}

\item 
\hypertarget{classRedistXrlTask_a6b6c2bc713d5172babaa54e5cd11f571}{
void {\bfseries signal\_\-fatal\_\-failure} ()}
\label{classRedistXrlTask_a6b6c2bc713d5172babaa54e5cd11f571}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRedistXrlTask_aee1947f11889f12fd9a0b9e23f4fb1bd}{
\hyperlink{classRedistXrlOutput}{RedistXrlOutput}$<$ A $>$ $\ast$ {\bfseries \_\-parent}}
\label{classRedistXrlTask_aee1947f11889f12fd9a0b9e23f4fb1bd}

\item 
\hypertarget{classRedistXrlTask_a1afb1d858525fb8985e9367426ff849a}{
uint32\_\-t {\bfseries \_\-attempts}}
\label{classRedistXrlTask_a1afb1d858525fb8985e9367426ff849a}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename A$>$ class RedistXrlTask$<$ A $>$}

Base class for \hyperlink{classRedistXrlOutput}{RedistXrlOutput} Tasks. Classes derived from this store enough state to dispatch XRL, or other task, at some subsequent time in \hyperlink{protocolthe-p}{the} future. 

\subsection{Member Function Documentation}
\hypertarget{classRedistXrlTask_ad1e6e5ec1dd472ed6cd3c517624f6648}{
\index{RedistXrlTask@{RedistXrlTask}!dispatch@{dispatch}}
\index{dispatch@{dispatch}!RedistXrlTask@{RedistXrlTask}}
\subsubsection[{dispatch}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ virtual bool {\bf RedistXrlTask}$<$ A $>$::dispatch (
\begin{DoxyParamCaption}
\item[{{\bf XrlRouter} \&}]{xrl\_\-router, }
\item[{{\bf Profile} \&}]{profile}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classRedistXrlTask_ad1e6e5ec1dd472ed6cd3c517624f6648}
\begin{DoxyReturn}{Returns}
true on success, false if \hyperlink{classXrlRouter}{XrlRouter} could not dispatch request. 
\end{DoxyReturn}


Implemented in \hyperlink{classAddRoute_acf1f98b130db263d9172b7f756abb6c2}{AddRoute$<$ A $>$}, \hyperlink{classDeleteRoute_a642fff5553e74c8f4e60fb01bd95dc63}{DeleteRoute$<$ A $>$}, \hyperlink{classStartingRouteDump_a0294fca5e38a2001c11ea99d504300a6}{StartingRouteDump$<$ A $>$}, \hyperlink{classFinishingRouteDump_a2111ec5b4c616a4becce91923d5dfbca}{FinishingRouteDump$<$ A $>$}, \hyperlink{classPause_a76cd1447bb3266bba7cf740836343916}{Pause$<$ A $>$}, \hyperlink{classAddTransactionRoute_a868e01e7329eb330cb64389c41cf8600}{AddTransactionRoute$<$ A $>$}, \hyperlink{classDeleteTransactionRoute_a3e3445a765ec66c0e61ce3afe3fe0958}{DeleteTransactionRoute$<$ A $>$}, \hyperlink{classStartTransaction_a8c1c74bbb3643e22367cb16060bc478a}{StartTransaction$<$ A $>$}, \hyperlink{classCommitTransaction_a3e8bd4f86483bf198a3712b3da84517d}{CommitTransaction$<$ A $>$}, \hyperlink{classAbortTransaction_a5563855f1d34c4f9d062768637608f13}{AbortTransaction$<$ A $>$}, \hyperlink{classAddRoute_a81f5c7a6aa294dc03290f0d531391478}{AddRoute$<$ A $>$}, \hyperlink{classAddRoute_a228e6a9635cdfe412d48ec643243c08c}{AddRoute$<$ A $>$}, \hyperlink{classDeleteRoute_a0b2ca9c9986e2dabfbaaa03d965f5131}{DeleteRoute$<$ A $>$}, \hyperlink{classDeleteRoute_a070a59ae27b2d1ba3c78d297bde71969}{DeleteRoute$<$ A $>$}, \hyperlink{classStartingRouteDump_aeab1de3bc98d0e4fe898aafa4ca4ef61}{StartingRouteDump$<$ A $>$}, \hyperlink{classStartingRouteDump_a987f9971c3bbf964f5c2c2205f5d50d3}{StartingRouteDump$<$ A $>$}, \hyperlink{classFinishingRouteDump_ae027f1c3abf942fea44070b7adaaf0d0}{FinishingRouteDump$<$ A $>$}, \hyperlink{classFinishingRouteDump_a57c2cbe0d70a11c2ab85b21c34bba576}{FinishingRouteDump$<$ A $>$}, \hyperlink{classAddTransactionRoute_aaaa66ee7ccf4dc7b1ba253888905b2ba}{AddTransactionRoute$<$ A $>$}, \hyperlink{classAddTransactionRoute_a93ee0a8fa0bc68e4a2caef34327d56e3}{AddTransactionRoute$<$ A $>$}, \hyperlink{classDeleteTransactionRoute_af569616457aa80f032eda180de2c0870}{DeleteTransactionRoute$<$ A $>$}, \hyperlink{classDeleteTransactionRoute_aa483edc5fe29ecf3fcfba0824bced2a8}{DeleteTransactionRoute$<$ A $>$}, \hyperlink{classStartTransaction_a14a0da9e418897c3636b0b8f8e3cb183}{StartTransaction$<$ A $>$}, \hyperlink{classStartTransaction_a52d2492a2cd7f2dab88b5865c52cb384}{StartTransaction$<$ A $>$}, \hyperlink{classCommitTransaction_a388b60edc09c7ae0a4422b9f9ff33fea}{CommitTransaction$<$ A $>$}, \hyperlink{classCommitTransaction_a9eb36734bd16f5de393f9f85c14b958b}{CommitTransaction$<$ A $>$}, \hyperlink{classAbortTransaction_a5fcce4da0f3fbac447439bba3a7653c7}{AbortTransaction$<$ A $>$}, and \hyperlink{classAbortTransaction_aaea53d7fadd5169e7633a03aa4b2b66a}{AbortTransaction$<$ A $>$}.



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