\hypertarget{classOutputTable}{
\section{OutputTable$<$ A $>$ Class Template Reference}
\label{classOutputTable}\index{OutputTable@{OutputTable}}
}


\hyperlink{classRoute}{Route} Table \hyperlink{classOutput}{Output} class.  




{\ttfamily \#include $<$output\_\-table.hh$>$}

Inheritance diagram for OutputTable$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classOutputTable}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOutputTable_a2b8e559616260ec872d654617d803b7c}{
{\bfseries OutputTable} (\hyperlink{classEventLoop}{EventLoop} \&e, \hyperlink{classPort}{Port}$<$ A $>$ \&port, \hyperlink{classPacketQueue}{PacketQueue}$<$ A $>$ \&pkt\_\-queue, \hyperlink{classRouteDB}{RouteDB}$<$ A $>$ \&rdb, const A \&ip\_\-addr=RIP\_\-AF\_\-CONSTANTS$<$ A $>$::IP\_\-GROUP(), uint16\_\-t ip\_\-port=RIP\_\-AF\_\-CONSTANTS$<$ A $>$::IP\_\-PORT)}
\label{classOutputTable_a2b8e559616260ec872d654617d803b7c}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classOutputTable_a6ba1c0fcaae769fa260ee34d8c3b0bb6}{output\_\-packet} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classOutput}{Output} packet if suitable data is available, and place it in \hyperlink{protocolthe-p}{the} \hyperlink{classPacketQueue}{PacketQueue} associated with this instance. \item\end{DoxyCompactList}\item 
void \hyperlink{classOutputTable_a466ac566cea0c53b09cb2c51c3e594e8}{start\_\-output\_\-processing} ()
\begin{DoxyCompactList}\small\item\em Derived classes should implement this to start output processing. \item\end{DoxyCompactList}\item 
void \hyperlink{classOutputTable_a690add7a29b898ceeddde4f6778319fc}{stop\_\-output\_\-processing} ()
\begin{DoxyCompactList}\small\item\em Derived classes should implement this to stop output processing. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOutputTable_a754e26b74dc72a365447a988038b1f30}{
\hyperlink{classRouteWalker}{RouteWalker}$<$ A $>$ {\bfseries \_\-rw}}
\label{classOutputTable_a754e26b74dc72a365447a988038b1f30}

\item 
\hypertarget{classOutputTable_a49880edf39b8cd4783fde809fcd3160e}{
bool {\bfseries \_\-rw\_\-valid}}
\label{classOutputTable_a49880edf39b8cd4783fde809fcd3160e}

\end{DoxyCompactItemize}


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

\hyperlink{classRoute}{Route} Table \hyperlink{classOutput}{Output} class. The \hyperlink{classOutputTable}{OutputTable} class produces an asynchronous RIP table dump. It's intended use is for solicited and unsolicited routing table.

Specialized implementations exist for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6}. Non-\/copyable due to inheritance from \hyperlink{classOutputBase}{OutputBase}. 

\subsection{Member Function Documentation}
\hypertarget{classOutputTable_a6ba1c0fcaae769fa260ee34d8c3b0bb6}{
\index{OutputTable@{OutputTable}!output\_\-packet@{output\_\-packet}}
\index{output\_\-packet@{output\_\-packet}!OutputTable@{OutputTable}}
\subsubsection[{output\_\-packet}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf OutputTable}$<$ A $>$::output\_\-packet (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classOutputTable_a6ba1c0fcaae769fa260ee34d8c3b0bb6}


\hyperlink{classOutput}{Output} packet if suitable data is available, and place it in \hyperlink{protocolthe-p}{the} \hyperlink{classPacketQueue}{PacketQueue} associated with this instance. 

Should data still be available after packet is generated then implementations of this method should reschedule a call to output\_\-packet after interpacket\_\-gap\_\-ms milliseconds. 

Implements \hyperlink{classOutputBase_ab8644e085645299beb8e2a10bd53fdb3}{OutputBase$<$ A $>$}.

\hypertarget{classOutputTable_a466ac566cea0c53b09cb2c51c3e594e8}{
\index{OutputTable@{OutputTable}!start\_\-output\_\-processing@{start\_\-output\_\-processing}}
\index{start\_\-output\_\-processing@{start\_\-output\_\-processing}!OutputTable@{OutputTable}}
\subsubsection[{start\_\-output\_\-processing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf OutputTable}$<$ A $>$::start\_\-output\_\-processing (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classOutputTable_a466ac566cea0c53b09cb2c51c3e594e8}


Derived classes should implement this to start output processing. 

It is invoked when \hyperlink{classOutputBase_a82a1e61a8a6fd56726954baa45be2aab}{start()} is called. 

Implements \hyperlink{classOutputBase_addfbd70ce8920758e9bb010146aed06c}{OutputBase$<$ A $>$}.

\hypertarget{classOutputTable_a690add7a29b898ceeddde4f6778319fc}{
\index{OutputTable@{OutputTable}!stop\_\-output\_\-processing@{stop\_\-output\_\-processing}}
\index{stop\_\-output\_\-processing@{stop\_\-output\_\-processing}!OutputTable@{OutputTable}}
\subsubsection[{stop\_\-output\_\-processing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf OutputTable}$<$ A $>$::stop\_\-output\_\-processing (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classOutputTable_a690add7a29b898ceeddde4f6778319fc}


Derived classes should implement this to stop output processing. 

It is invoked when \hyperlink{classOutputBase_a61b49d0fb2eabc5da657d7bbe45e2a62}{stop()} is called. 

Implements \hyperlink{classOutputBase_a43611a561daa1f99cab1e0f4e3d74055}{OutputBase$<$ A $>$}.



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