\hypertarget{classRegisterServer}{
\section{RegisterServer Class Reference}
\label{classRegisterServer}\index{RegisterServer@{RegisterServer}}
}


\hyperlink{classRegisterServer}{RegisterServer} handles communication of notifications to \hyperlink{protocolthe-p}{the} clients that registered interest in changes affecting specific routes.  




{\ttfamily \#include $<$register\_\-server.hh$>$}

Inheritance diagram for RegisterServer:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classRegisterServer}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classRegisterServer_a33293eb252b8e95d7b79d73048db67ff}{RegisterServer} (\hyperlink{classXrlRouter}{XrlRouter} $\ast$xrl\_\-router)
\begin{DoxyCompactList}\small\item\em \hyperlink{classRegisterServer}{RegisterServer} constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classRegisterServer_ab9e8f8bf869ae0c426765b7941f8fe40}{
virtual \hyperlink{classRegisterServer_ab9e8f8bf869ae0c426765b7941f8fe40}{$\sim$RegisterServer} ()}
\label{classRegisterServer_ab9e8f8bf869ae0c426765b7941f8fe40}

\begin{DoxyCompactList}\small\item\em \hyperlink{classRegisterServer}{RegisterServer} destructor. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classRegisterServer_a70111fc2dfbd3957762af455f87d47c2}{send\_\-route\_\-changed} (const string \&module\_\-name, const \hyperlink{classIPNet}{IPv4Net} \&net, const \hyperlink{classIPv4}{IPv4} \&nexthop, uint32\_\-t metric, uint32\_\-t admin\_\-distance, const string \&protocol\_\-origin, bool multicast)
\begin{DoxyCompactList}\small\item\em send\_\-route\_\-changed is called to communicate to another XRL module that routing information in which it had registered an interest has changed its nexthop, metric, or admin distance. \item\end{DoxyCompactList}\item 
\hypertarget{classRegisterServer_ab110844dab80d0715b99dd4c7ae31868}{
virtual void {\bfseries send\_\-invalidate} (const string \&module\_\-name, const \hyperlink{classIPNet}{IPv4Net} \&net, bool multicast)}
\label{classRegisterServer_ab110844dab80d0715b99dd4c7ae31868}

\item 
virtual void \hyperlink{classRegisterServer_a831eed1d32d4febc91a7556b683083f7}{flush} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRegisterServer_acb60606465d6234a1563ad467e478681}{
void {\bfseries add\_\-entry\_\-to\_\-queue} (const string \&module\_\-name, \hyperlink{classNotifyQueueEntry}{NotifyQueueEntry} $\ast$e)}
\label{classRegisterServer_acb60606465d6234a1563ad467e478681}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRegisterServer_adcbc4548fe56ca4767acbcb96efdcffa}{
map$<$ string, \hyperlink{classNotifyQueue}{NotifyQueue} $\ast$ $>$ {\bfseries \_\-queuemap}}
\label{classRegisterServer_adcbc4548fe56ca4767acbcb96efdcffa}

\item 
\hypertarget{classRegisterServer_a70515423380f1ea49b2921ad954245b3}{
\hyperlink{classXrlRibClientV0p1Client}{ResponseSender} {\bfseries \_\-response\_\-sender}}
\label{classRegisterServer_a70515423380f1ea49b2921ad954245b3}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{classRegisterServer}{RegisterServer} handles communication of notifications to \hyperlink{protocolthe-p}{the} clients that registered interest in changes affecting specific routes. \hyperlink{classRegisterServer}{RegisterServer} handles communication of notifications to \hyperlink{protocolthe-p}{the} clients that registered interest in changes affecting specific routes. As these notifications can sometimes be generated faster than \hyperlink{protocolthe-p}{the} recipient can handle them, \hyperlink{protocolthe-p}{the} notifications can be queued here. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classRegisterServer_a33293eb252b8e95d7b79d73048db67ff}{
\index{RegisterServer@{RegisterServer}!RegisterServer@{RegisterServer}}
\index{RegisterServer@{RegisterServer}!RegisterServer@{RegisterServer}}
\subsubsection[{RegisterServer}]{\setlength{\rightskip}{0pt plus 5cm}RegisterServer::RegisterServer (
\begin{DoxyParamCaption}
\item[{{\bf XrlRouter} $\ast$}]{xrl\_\-router}
\end{DoxyParamCaption}
)}}
\label{classRegisterServer_a33293eb252b8e95d7b79d73048db67ff}


\hyperlink{classRegisterServer}{RegisterServer} constructor. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-router} & \hyperlink{protocolthe-p}{the} XRL router instance used to send and receive XRLs in this process. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classRegisterServer_a831eed1d32d4febc91a7556b683083f7}{
\index{RegisterServer@{RegisterServer}!flush@{flush}}
\index{flush@{flush}!RegisterServer@{RegisterServer}}
\subsubsection[{flush}]{\setlength{\rightskip}{0pt plus 5cm}void RegisterServer::flush (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterServer_a831eed1d32d4febc91a7556b683083f7}
\begin{DoxySeeAlso}{See also}
\hyperlink{classNotifyQueue_ae3278580579dd8603bf3f1b093b8f350}{NotifyQueue::flush} 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{classDummyRegisterServer_adeb131a4939a65eb098d44c59f400f82}{DummyRegisterServer}.

\hypertarget{classRegisterServer_a70111fc2dfbd3957762af455f87d47c2}{
\index{RegisterServer@{RegisterServer}!send\_\-route\_\-changed@{send\_\-route\_\-changed}}
\index{send\_\-route\_\-changed@{send\_\-route\_\-changed}!RegisterServer@{RegisterServer}}
\subsubsection[{send\_\-route\_\-changed}]{\setlength{\rightskip}{0pt plus 5cm}void RegisterServer::send\_\-route\_\-changed (
\begin{DoxyParamCaption}
\item[{const string \&}]{module\_\-name, }
\item[{const {\bf IPv4Net} \&}]{net, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{uint32\_\-t}]{metric, }
\item[{uint32\_\-t}]{admin\_\-distance, }
\item[{const string \&}]{protocol\_\-origin, }
\item[{bool}]{multicast}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterServer_a70111fc2dfbd3957762af455f87d47c2}


send\_\-route\_\-changed is called to communicate to another XRL module that routing information in which it had registered an interest has changed its nexthop, metric, or admin distance. 


\begin{DoxyParams}{Parameters}
{\em module\_\-name} & \hyperlink{protocolthe-p}{the} XRL target name of \hyperlink{protocolthe-p}{the} module to notify. \\
\hline
{\em net} & \hyperlink{protocolthe-p}{the} destination subnet of \hyperlink{protocolthe-p}{the} route that changed. \\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} new nexthop of \hyperlink{protocolthe-p}{the} route that changed. \\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} new routing protocol metric of \hyperlink{protocolthe-p}{the} route that changed. \\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} new admin distance of \hyperlink{protocolthe-p}{the} route that changed. \\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this route. \\
\hline
{\em multicast} & true indicates that \hyperlink{protocolthe-p}{the} change occured in \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}, false indicates that it occured in \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{classDummyRegisterServer_a90e8459bbf94d6c8fc87b0bce8a4d36c}{DummyRegisterServer}.



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