\hypertarget{classFanoutTable}{
\section{FanoutTable$<$ A $>$ Class Template Reference}
\label{classFanoutTable}\index{FanoutTable@{FanoutTable}}
}
Inheritance diagram for FanoutTable$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classFanoutTable}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFanoutTable_a9692bbae8a7b62c0e5c6c82c8c4fb3b8}{
{\bfseries FanoutTable} (string tablename, Safi safi, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$parent, \hyperlink{classPeerHandler}{PeerHandler} $\ast$aggr\_\-handler, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$aggr\_\-table)}
\label{classFanoutTable_a9692bbae8a7b62c0e5c6c82c8c4fb3b8}

\item 
\hypertarget{classFanoutTable_a6e5970e565d3ac1d43515fe3e59d07dd}{
int {\bfseries add\_\-next\_\-table} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$next\_\-table, const \hyperlink{classPeerHandler}{PeerHandler} $\ast$ph, uint32\_\-t genid)}
\label{classFanoutTable_a6e5970e565d3ac1d43515fe3e59d07dd}

\item 
\hypertarget{classFanoutTable_a9c54a3398969aa738162223f51b3a68a}{
int {\bfseries remove\_\-next\_\-table} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$next\_\-table)}
\label{classFanoutTable_a9c54a3398969aa738162223f51b3a68a}

\item 
\hypertarget{classFanoutTable_ac2b61c9f9aefdc62fb74580a63184075}{
int {\bfseries replace\_\-next\_\-table} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$old\_\-next\_\-table, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$new\_\-next\_\-table)}
\label{classFanoutTable_ac2b61c9f9aefdc62fb74580a63184075}

\item 
\hypertarget{classFanoutTable_a39ccc3819eed7df90543a369124a152f}{
int {\bfseries add\_\-route} (\hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&rtmsg, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_a39ccc3819eed7df90543a369124a152f}

\item 
\hypertarget{classFanoutTable_a0550e948c5906af7445473cc1d22daf5}{
int {\bfseries replace\_\-route} (\hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&old\_\-rtmsg, \hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&new\_\-rtmsg, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_a0550e948c5906af7445473cc1d22daf5}

\item 
\hypertarget{classFanoutTable_aa138c51018c90e7ea2cc392592be36bf}{
int {\bfseries delete\_\-route} (\hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&rtmsg, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_aa138c51018c90e7ea2cc392592be36bf}

\item 
\hypertarget{classFanoutTable_a1ac88af59677d74c7c762c3f80d93290}{
int {\bfseries route\_\-dump} (\hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&rtmsg, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller, const \hyperlink{classPeerHandler}{PeerHandler} $\ast$dump\_\-peer)}
\label{classFanoutTable_a1ac88af59677d74c7c762c3f80d93290}

\item 
\hypertarget{classFanoutTable_a79a4a05b45334edd76dbe2c77382b130}{
int {\bfseries push} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_a79a4a05b45334edd76dbe2c77382b130}

\item 
\hypertarget{classFanoutTable_ad9a332dcb76e8f6bacfce854d945028c}{
const \hyperlink{classSubnetRoute}{SubnetRoute}$<$ A $>$ $\ast$ {\bfseries lookup\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, uint32\_\-t \&genid, FPAListRef \&pa\_\-list) const }
\label{classFanoutTable_ad9a332dcb76e8f6bacfce854d945028c}

\item 
\hypertarget{classFanoutTable_a0508302dd43ac58077da0d2d6181c1e7}{
RouteTableType {\bfseries type} () const }
\label{classFanoutTable_a0508302dd43ac58077da0d2d6181c1e7}

\item 
\hypertarget{classFanoutTable_a4a3e48850fbae1d620071dd9d2059340}{
string {\bfseries str} () const }
\label{classFanoutTable_a4a3e48850fbae1d620071dd9d2059340}

\item 
\hypertarget{classFanoutTable_a66ee530465ee3aad53805d1c28417891}{
void {\bfseries peer\_\-table\_\-info} (list$<$ const \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&peer\_\-list)}
\label{classFanoutTable_a66ee530465ee3aad53805d1c28417891}

\item 
\hypertarget{classFanoutTable_abe9f03c8bd9cba12e8e26f29ae9f2d8e}{
int {\bfseries dump\_\-entire\_\-table} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$child\_\-to\_\-dump\_\-to, Safi safi, string ribname)}
\label{classFanoutTable_abe9f03c8bd9cba12e8e26f29ae9f2d8e}

\item 
\hypertarget{classFanoutTable_aaec3f08c65810c774af6a208597aee0d}{
bool {\bfseries get\_\-next\_\-message} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$next\_\-table)}
\label{classFanoutTable_aaec3f08c65810c774af6a208597aee0d}

\item 
\hypertarget{classFanoutTable_a8a69d3e35a9346ab47b64d94e84eec97}{
void {\bfseries peering\_\-went\_\-down} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_a8a69d3e35a9346ab47b64d94e84eec97}

\item 
\hypertarget{classFanoutTable_afef2b306af08cb8d069784bebf1eac04}{
void {\bfseries peering\_\-down\_\-complete} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_afef2b306af08cb8d069784bebf1eac04}

\item 
\hypertarget{classFanoutTable_a2e8c959b685c943e42358d624c517606}{
void {\bfseries peering\_\-came\_\-up} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classFanoutTable_a2e8c959b685c943e42358d624c517606}

\item 
\hypertarget{classFanoutTable_a3deab68556df271e488a69caaef879c8}{
void {\bfseries crash\_\-dump} () const }
\label{classFanoutTable_a3deab68556df271e488a69caaef879c8}

\item 
\hypertarget{classFanoutTable_aa7b31e0de4996067680459255bd98fcd}{
string {\bfseries dump\_\-state} () const }
\label{classFanoutTable_aa7b31e0de4996067680459255bd98fcd}

\item 
\hypertarget{classFanoutTable_a4ffa152057c7517a6fb502bd7fbda409}{
void {\bfseries print\_\-queue} ()}
\label{classFanoutTable_a4ffa152057c7517a6fb502bd7fbda409}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFanoutTable_a1917b4b3c787516edc438a8f166d47b6}{
void {\bfseries add\_\-to\_\-queue} (RouteQueueOp operation, \hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&rtmsg, const list$<$ \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&queued\_\-peers)}
\label{classFanoutTable_a1917b4b3c787516edc438a8f166d47b6}

\item 
\hypertarget{classFanoutTable_a396825a37c1216ba5dd085c2cc90a1a5}{
void {\bfseries add\_\-replace\_\-to\_\-queue} (\hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&old\_\-rtmsg, \hyperlink{classInternalMessage}{InternalMessage}$<$ A $>$ \&new\_\-rtmsg, const list$<$ \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&queued\_\-peers)}
\label{classFanoutTable_a396825a37c1216ba5dd085c2cc90a1a5}

\item 
\hypertarget{classFanoutTable_a9d818065e1fed334b3189e8573cd8d12}{
void {\bfseries add\_\-push\_\-to\_\-queue} (const list$<$ \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&queued\_\-peers, const \hyperlink{classPeerHandler}{PeerHandler} $\ast$origin\_\-peer)}
\label{classFanoutTable_a9d818065e1fed334b3189e8573cd8d12}

\item 
\hypertarget{classFanoutTable_a88fe48114068377311dd690dfa12e594}{
void {\bfseries set\_\-queue\_\-positions} (const list$<$ \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&queued\_\-peers)}
\label{classFanoutTable_a88fe48114068377311dd690dfa12e594}

\item 
\hypertarget{classFanoutTable_a834d3e65521fc376a23fc3197e3ea657}{
void {\bfseries skip\_\-entire\_\-queue} (\hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$next\_\-table)}
\label{classFanoutTable_a834d3e65521fc376a23fc3197e3ea657}

\item 
\hypertarget{classFanoutTable_a0e4f585f90abb968aa17b2e96adc4251}{
void {\bfseries wakeup\_\-downstream} (list$<$ \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&queued\_\-peers)}
\label{classFanoutTable_a0e4f585f90abb968aa17b2e96adc4251}

\item 
\hypertarget{classFanoutTable_ad37f2d41879e7078e23dc578cf9bce43}{
void {\bfseries add\_\-dump\_\-table} (\hyperlink{classDumpTable}{DumpTable}$<$ A $>$ $\ast$dump\_\-table)}
\label{classFanoutTable_ad37f2d41879e7078e23dc578cf9bce43}

\item 
\hypertarget{classFanoutTable_afea3ae217a00acda476fa9f24d7b47b1}{
void {\bfseries remove\_\-dump\_\-table} (\hyperlink{classDumpTable}{DumpTable}$<$ A $>$ $\ast$dump\_\-table)}
\label{classFanoutTable_afea3ae217a00acda476fa9f24d7b47b1}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFanoutTable_ae19c66d458e528d9d74209527c8bbe19}{
\hyperlink{classNextTableMap}{NextTableMap}$<$ A $>$ {\bfseries \_\-next\_\-tables}}
\label{classFanoutTable_ae19c66d458e528d9d74209527c8bbe19}

\item 
\hypertarget{classFanoutTable_a170fafa21dcd567c6a8d4c2ecef8da00}{
list$<$ const \hyperlink{classRouteQueueEntry}{RouteQueueEntry}$<$ A $>$ $\ast$ $>$ {\bfseries \_\-output\_\-queue}}
\label{classFanoutTable_a170fafa21dcd567c6a8d4c2ecef8da00}

\item 
\hypertarget{classFanoutTable_a9d77b753887ac0497301d8f40ac4dc02}{
set$<$ \hyperlink{classDumpTable}{DumpTable}$<$ A $>$ $\ast$ $>$ {\bfseries \_\-dump\_\-tables}}
\label{classFanoutTable_a9d77b753887ac0497301d8f40ac4dc02}

\item 
\hypertarget{classFanoutTable_a82f9bc5d8eda063ee6912c4e5e2c36db}{
\hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ {\bfseries \_\-aggr\_\-peerinfo}}
\label{classFanoutTable_a82f9bc5d8eda063ee6912c4e5e2c36db}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class A$>$ class FanoutTable$<$ A $>$}



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