\hypertarget{classXrlFibClientManager}{
\section{XrlFibClientManager Class Reference}
\label{classXrlFibClientManager}\index{XrlFibClientManager@{XrlFibClientManager}}
}


Class for managing clients interested in FIB changes notifications.  




{\ttfamily \#include $<$xrl\_\-fib\_\-client\_\-manager.hh$>$}

Inheritance diagram for XrlFibClientManager:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classXrlFibClientManager}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classXrlFibClientManager_1_1FibClient}{FibClient}
\begin{DoxyCompactList}\small\item\em A template class for storing FIB client information. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classXrlFibClientManager_af175109e9eb22fc026032d0855372a3f}{XrlFibClientManager} (\hyperlink{classFibConfig}{FibConfig} \&fibconfig, \hyperlink{classXrlRouter}{XrlRouter} \&xrl\_\-router)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classXrlFibClientManager_a9855bc3fba87715d3874bceef2537024}{eventloop} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlFibClientManager_abefc64c852975beb0d4330d819fdced8}{process\_\-fib\_\-changes} (const list$<$ \hyperlink{classFte}{Fte4} $>$ \&fte\_\-list)
\begin{DoxyCompactList}\small\item\em Process a list of \hyperlink{classIPv4}{IPv4} FIB route changes. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFibClientManager_a447ea5dee386a81a6267d026e7488071}{add\_\-fib\_\-client4} (const string \&client\_\-target\_\-name, const bool send\_\-updates, const bool send\_\-resolves)
\begin{DoxyCompactList}\small\item\em Add an \hyperlink{classIPv4}{IPv4} FIB client. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFibClientManager_a2715966d52e1693ceeee47e5633a860f}{delete\_\-fib\_\-client4} (const string \&client\_\-target\_\-name)
\begin{DoxyCompactList}\small\item\em Delete an \hyperlink{classIPv4}{IPv4} FIB client. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFibClientManager_ab921a5c049231f3138845b80f46a8b58}{send\_\-fib\_\-client\_\-add\_\-route} (const string \&target\_\-name, const \hyperlink{classFte}{Fte4} \&fte)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} an XRL to a FIB client to add an \hyperlink{classIPv4}{IPv4} route. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFibClientManager_ae0873c6d1330dda50f3511a2921c97d2}{send\_\-fib\_\-client\_\-delete\_\-route} (const string \&target\_\-name, const \hyperlink{classFte}{Fte4} \&fte)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} an XRL to a FIB client to delete an \hyperlink{classIPv4}{IPv4} route. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFibClientManager_a9032d91995da7ef07cb7e529a03c1a63}{send\_\-fib\_\-client\_\-resolve\_\-route} (const string \&target\_\-name, const \hyperlink{classFte}{Fte4} \&fte)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} an XRL to a FIB client to inform it of an \hyperlink{classIPv4}{IPv4} route miss. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFibClientManager_a6763763b8eca6eb49f8adb3763b392b5}{
\hyperlink{classFibConfig}{FibConfig} \& {\bfseries \_\-fibconfig}}
\label{classXrlFibClientManager_a6763763b8eca6eb49f8adb3763b392b5}

\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFibClientManager_af204030d814a539a03f7b5d8321160a5}{
typedef \hyperlink{classXrlFibClientManager_1_1FibClient}{FibClient}$<$ \hyperlink{classFte}{Fte4} $>$ {\bfseries FibClient4}}
\label{classXrlFibClientManager_af204030d814a539a03f7b5d8321160a5}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFibClientManager_a81f4c87aaed96d1f07ca62a294c772b2}{
void {\bfseries send\_\-fib\_\-client\_\-add\_\-route4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error, string target\_\-name)}
\label{classXrlFibClientManager_a81f4c87aaed96d1f07ca62a294c772b2}

\item 
\hypertarget{classXrlFibClientManager_a6692d6377dfe2cb5bb86df0444f28e21}{
void {\bfseries send\_\-fib\_\-client\_\-delete\_\-route4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error, string target\_\-name)}
\label{classXrlFibClientManager_a6692d6377dfe2cb5bb86df0444f28e21}

\item 
\hypertarget{classXrlFibClientManager_a4bfced9ddf4d73795b2ceead31e3d0b2}{
void {\bfseries send\_\-fib\_\-client\_\-resolve\_\-route4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error, string target\_\-name)}
\label{classXrlFibClientManager_a4bfced9ddf4d73795b2ceead31e3d0b2}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFibClientManager_a8012c29ac43d257bb5c3695636e200d4}{
map$<$ string, \hyperlink{classXrlFibClientManager_1_1FibClient}{FibClient4} $>$ {\bfseries \_\-fib\_\-clients4}}
\label{classXrlFibClientManager_a8012c29ac43d257bb5c3695636e200d4}

\item 
\hypertarget{classXrlFibClientManager_a514d94af887e54e479edbb7c8f94e66d}{
\hyperlink{classXrlFeaFibClientV0p1Client}{XrlFeaFibClientV0p1Client} {\bfseries \_\-xrl\_\-fea\_\-fib\_\-client}}
\label{classXrlFibClientManager_a514d94af887e54e479edbb7c8f94e66d}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for managing clients interested in FIB changes notifications. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classXrlFibClientManager_af175109e9eb22fc026032d0855372a3f}{
\index{XrlFibClientManager@{XrlFibClientManager}!XrlFibClientManager@{XrlFibClientManager}}
\index{XrlFibClientManager@{XrlFibClientManager}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{XrlFibClientManager}]{\setlength{\rightskip}{0pt plus 5cm}XrlFibClientManager::XrlFibClientManager (
\begin{DoxyParamCaption}
\item[{{\bf FibConfig} \&}]{fibconfig, }
\item[{{\bf XrlRouter} \&}]{xrl\_\-router}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFibClientManager_af175109e9eb22fc026032d0855372a3f}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em fibconfig} & \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} configuration object (\hyperlink{classFibConfig}{FibConfig}). \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classXrlFibClientManager_a447ea5dee386a81a6267d026e7488071}{
\index{XrlFibClientManager@{XrlFibClientManager}!add\_\-fib\_\-client4@{add\_\-fib\_\-client4}}
\index{add\_\-fib\_\-client4@{add\_\-fib\_\-client4}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{add\_\-fib\_\-client4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFibClientManager::add\_\-fib\_\-client4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{client\_\-target\_\-name, }
\item[{const bool}]{send\_\-updates, }
\item[{const bool}]{send\_\-resolves}
\end{DoxyParamCaption}
)}}
\label{classXrlFibClientManager_a447ea5dee386a81a6267d026e7488071}


Add an \hyperlink{classIPv4}{IPv4} FIB client. 


\begin{DoxyParams}{Parameters}
{\em client\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} target name of \hyperlink{protocolthe-p}{the} client to add. \\
\hline
{\em send\_\-updates} & whether updates should be sent. \\
\hline
{\em send\_\-resolves} & whether resolve requests should be sent. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} XRL command error. 
\end{DoxyReturn}
\hypertarget{classXrlFibClientManager_a2715966d52e1693ceeee47e5633a860f}{
\index{XrlFibClientManager@{XrlFibClientManager}!delete\_\-fib\_\-client4@{delete\_\-fib\_\-client4}}
\index{delete\_\-fib\_\-client4@{delete\_\-fib\_\-client4}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{delete\_\-fib\_\-client4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFibClientManager::delete\_\-fib\_\-client4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{client\_\-target\_\-name}
\end{DoxyParamCaption}
)}}
\label{classXrlFibClientManager_a2715966d52e1693ceeee47e5633a860f}


Delete an \hyperlink{classIPv4}{IPv4} FIB client. 


\begin{DoxyParams}{Parameters}
{\em client\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} target name of \hyperlink{protocolthe-p}{the} client to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} XRL command error. 
\end{DoxyReturn}
\hypertarget{classXrlFibClientManager_a9855bc3fba87715d3874bceef2537024}{
\index{XrlFibClientManager@{XrlFibClientManager}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop}\& XrlFibClientManager::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFibClientManager_a9855bc3fba87715d3874bceef2537024}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. 
\end{DoxyReturn}
\hypertarget{classXrlFibClientManager_abefc64c852975beb0d4330d819fdced8}{
\index{XrlFibClientManager@{XrlFibClientManager}!process\_\-fib\_\-changes@{process\_\-fib\_\-changes}}
\index{process\_\-fib\_\-changes@{process\_\-fib\_\-changes}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{process\_\-fib\_\-changes}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFibClientManager::process\_\-fib\_\-changes (
\begin{DoxyParamCaption}
\item[{const list$<$ {\bf Fte4} $>$ \&}]{fte\_\-list}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlFibClientManager_abefc64c852975beb0d4330d819fdced8}


Process a list of \hyperlink{classIPv4}{IPv4} FIB route changes. 

The FIB route changes come from \hyperlink{protocolthe-p}{the} underlying system.


\begin{DoxyParams}{Parameters}
{\em fte\_\-list} & \hyperlink{protocolthe-p}{the} list of \hyperlink{classFte}{Fte} entries to add or delete. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFibTableObserverBase_a177bae87a576861d0d4751bc75cee8ac}{FibTableObserverBase}.

\hypertarget{classXrlFibClientManager_ab921a5c049231f3138845b80f46a8b58}{
\index{XrlFibClientManager@{XrlFibClientManager}!send\_\-fib\_\-client\_\-add\_\-route@{send\_\-fib\_\-client\_\-add\_\-route}}
\index{send\_\-fib\_\-client\_\-add\_\-route@{send\_\-fib\_\-client\_\-add\_\-route}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{send\_\-fib\_\-client\_\-add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFibClientManager::send\_\-fib\_\-client\_\-add\_\-route (
\begin{DoxyParamCaption}
\item[{const string \&}]{target\_\-name, }
\item[{const {\bf Fte4} \&}]{fte}
\end{DoxyParamCaption}
)}}
\label{classXrlFibClientManager_ab921a5c049231f3138845b80f46a8b58}


\hyperlink{structSend}{Send} an XRL to a FIB client to add an \hyperlink{classIPv4}{IPv4} route. 


\begin{DoxyParams}{Parameters}
{\em target\_\-name} & \hyperlink{protocolthe-p}{the} target name of \hyperlink{protocolthe-p}{the} FIB client. \\
\hline
{\em fte} & \hyperlink{protocolthe-p}{the} \hyperlink{classFte}{Fte} with \hyperlink{protocolthe-p}{the} route information to add. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
Fte4. 
\end{DoxySeeAlso}
\hypertarget{classXrlFibClientManager_ae0873c6d1330dda50f3511a2921c97d2}{
\index{XrlFibClientManager@{XrlFibClientManager}!send\_\-fib\_\-client\_\-delete\_\-route@{send\_\-fib\_\-client\_\-delete\_\-route}}
\index{send\_\-fib\_\-client\_\-delete\_\-route@{send\_\-fib\_\-client\_\-delete\_\-route}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{send\_\-fib\_\-client\_\-delete\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFibClientManager::send\_\-fib\_\-client\_\-delete\_\-route (
\begin{DoxyParamCaption}
\item[{const string \&}]{target\_\-name, }
\item[{const {\bf Fte4} \&}]{fte}
\end{DoxyParamCaption}
)}}
\label{classXrlFibClientManager_ae0873c6d1330dda50f3511a2921c97d2}


\hyperlink{structSend}{Send} an XRL to a FIB client to delete an \hyperlink{classIPv4}{IPv4} route. 


\begin{DoxyParams}{Parameters}
{\em target\_\-name} & \hyperlink{protocolthe-p}{the} target name of \hyperlink{protocolthe-p}{the} FIB client. \\
\hline
{\em fte} & \hyperlink{protocolthe-p}{the} \hyperlink{classFte}{Fte} with \hyperlink{protocolthe-p}{the} route information to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
Fte4. 
\end{DoxySeeAlso}
\hypertarget{classXrlFibClientManager_a9032d91995da7ef07cb7e529a03c1a63}{
\index{XrlFibClientManager@{XrlFibClientManager}!send\_\-fib\_\-client\_\-resolve\_\-route@{send\_\-fib\_\-client\_\-resolve\_\-route}}
\index{send\_\-fib\_\-client\_\-resolve\_\-route@{send\_\-fib\_\-client\_\-resolve\_\-route}!XrlFibClientManager@{XrlFibClientManager}}
\subsubsection[{send\_\-fib\_\-client\_\-resolve\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFibClientManager::send\_\-fib\_\-client\_\-resolve\_\-route (
\begin{DoxyParamCaption}
\item[{const string \&}]{target\_\-name, }
\item[{const {\bf Fte4} \&}]{fte}
\end{DoxyParamCaption}
)}}
\label{classXrlFibClientManager_a9032d91995da7ef07cb7e529a03c1a63}


\hyperlink{structSend}{Send} an XRL to a FIB client to inform it of an \hyperlink{classIPv4}{IPv4} route miss. 


\begin{DoxyParams}{Parameters}
{\em target\_\-name} & \hyperlink{protocolthe-p}{the} target name of \hyperlink{protocolthe-p}{the} FIB client. \\
\hline
{\em fte} & \hyperlink{protocolthe-p}{the} \hyperlink{classFte}{Fte} with \hyperlink{protocolthe-p}{the} destination to resolve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
Fte4. 
\end{DoxySeeAlso}


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