\hypertarget{classNotifyQueue}{
\section{NotifyQueue Class Reference}
\label{classNotifyQueue}\index{NotifyQueue@{NotifyQueue}}
}


Queue of route event notifications.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classNotifyQueue_ab6514b8aac1da685f55eabb70b1c7da0}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries XrlCompleteCB}}
\label{classNotifyQueue_ab6514b8aac1da685f55eabb70b1c7da0}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classNotifyQueue_a973725d1544ed57ed753ca222befec56}{NotifyQueue} (const string \&module\_\-name)
\begin{DoxyCompactList}\small\item\em \hyperlink{classNotifyQueue}{NotifyQueue} constructor. \item\end{DoxyCompactList}\item 
void \hyperlink{classNotifyQueue_a1f3d190933aecb69e8b5a314f74becca}{add\_\-entry} (\hyperlink{classNotifyQueueEntry}{NotifyQueueEntry} $\ast$e)
\begin{DoxyCompactList}\small\item\em Add an notification entry to \hyperlink{protocolthe-p}{the} queue. \item\end{DoxyCompactList}\item 
\hypertarget{classNotifyQueue_ac1f8ba22dafe0a2c25865de967212020}{
void \hyperlink{classNotifyQueue_ac1f8ba22dafe0a2c25865de967212020}{send\_\-next} ()}
\label{classNotifyQueue_ac1f8ba22dafe0a2c25865de967212020}

\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{protocolthe-p}{the} next entry in \hyperlink{protocolthe-p}{the} queue to this queue's XRL target. \item\end{DoxyCompactList}\item 
void \hyperlink{classNotifyQueue_ae3278580579dd8603bf3f1b093b8f350}{flush} (\hyperlink{classXrlRibClientV0p1Client}{ResponseSender} $\ast$response\_\-sender)
\begin{DoxyCompactList}\small\item\em Flush is an indication to \hyperlink{protocolthe-p}{the} queue that \hyperlink{protocolthe-p}{the} changes since \hyperlink{protocolthe-p}{the} last flush can be checked for consolidation. \item\end{DoxyCompactList}\item 
void \hyperlink{classNotifyQueue_ae1526218b13a69942daefa0a07a744a2}{xrl\_\-done} (const \hyperlink{classXrlError}{XrlError} \&e)
\begin{DoxyCompactList}\small\item\em XRL transmit complete callback. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classNotifyQueue_aa2e2966a2b3bdaa6c8256205c737d5d9}{
string {\bfseries \_\-module\_\-name}}
\label{classNotifyQueue_aa2e2966a2b3bdaa6c8256205c737d5d9}

\item 
\hypertarget{classNotifyQueue_a2fdcfb9d178f9ddf0e7e36b7c5f43538}{
list$<$ \hyperlink{classNotifyQueueEntry}{NotifyQueueEntry} $\ast$ $>$ {\bfseries \_\-queue}}
\label{classNotifyQueue_a2fdcfb9d178f9ddf0e7e36b7c5f43538}

\item 
\hypertarget{classNotifyQueue_a4951f5780067620e81e100c50a2faf5c}{
bool {\bfseries \_\-active}}
\label{classNotifyQueue_a4951f5780067620e81e100c50a2faf5c}

\item 
\hypertarget{classNotifyQueue_a564412ac7157765ce1d0fbabf964a4d9}{
\hyperlink{classXrlRibClientV0p1Client}{ResponseSender} $\ast$ {\bfseries \_\-response\_\-sender}}
\label{classNotifyQueue_a564412ac7157765ce1d0fbabf964a4d9}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Queue of route event notifications. A NotfiyQueue holds a queue of route event notifications waiting transmission to \hyperlink{protocolthe-p}{the} XORP process that registered interest in route changes that affected one or more routes. When a lot of routes change, we need to queue \hyperlink{protocolthe-p}{the} changes because we may generate them faster than \hyperlink{protocolthe-p}{the} recipient can handle being told about them. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classNotifyQueue_a973725d1544ed57ed753ca222befec56}{
\index{NotifyQueue@{NotifyQueue}!NotifyQueue@{NotifyQueue}}
\index{NotifyQueue@{NotifyQueue}!NotifyQueue@{NotifyQueue}}
\subsubsection[{NotifyQueue}]{\setlength{\rightskip}{0pt plus 5cm}NotifyQueue::NotifyQueue (
\begin{DoxyParamCaption}
\item[{const string \&}]{module\_\-name}
\end{DoxyParamCaption}
)}}
\label{classNotifyQueue_a973725d1544ed57ed753ca222befec56}


\hyperlink{classNotifyQueue}{NotifyQueue} constructor. 


\begin{DoxyParams}{Parameters}
{\em module\_\-name} & \hyperlink{protocolthe-p}{the} XRL module target name for \hyperlink{protocolthe-p}{the} process that this queue holds notifications for. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classNotifyQueue_a1f3d190933aecb69e8b5a314f74becca}{
\index{NotifyQueue@{NotifyQueue}!add\_\-entry@{add\_\-entry}}
\index{add\_\-entry@{add\_\-entry}!NotifyQueue@{NotifyQueue}}
\subsubsection[{add\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}void NotifyQueue::add\_\-entry (
\begin{DoxyParamCaption}
\item[{{\bf NotifyQueueEntry} $\ast$}]{e}
\end{DoxyParamCaption}
)}}
\label{classNotifyQueue_a1f3d190933aecb69e8b5a314f74becca}


Add an notification entry to \hyperlink{protocolthe-p}{the} queue. 


\begin{DoxyParams}{Parameters}
{\em e} & \hyperlink{protocolthe-p}{the} notification entry to be queued. \\
\hline
\end{DoxyParams}
\hypertarget{classNotifyQueue_ae3278580579dd8603bf3f1b093b8f350}{
\index{NotifyQueue@{NotifyQueue}!flush@{flush}}
\index{flush@{flush}!NotifyQueue@{NotifyQueue}}
\subsubsection[{flush}]{\setlength{\rightskip}{0pt plus 5cm}void NotifyQueue::flush (
\begin{DoxyParamCaption}
\item[{{\bf ResponseSender} $\ast$}]{response\_\-sender}
\end{DoxyParamCaption}
)}}
\label{classNotifyQueue_ae3278580579dd8603bf3f1b093b8f350}


Flush is an indication to \hyperlink{protocolthe-p}{the} queue that \hyperlink{protocolthe-p}{the} changes since \hyperlink{protocolthe-p}{the} last flush can be checked for consolidation. 

Several add\_\-entry events might occur in rapid succession affecting \hyperlink{protocolthe-p}{the} same route. A flush indicates that it is OK to start sending this batch of changes (and to consolidate those changes to avoid thrashing, but we don't currently do this). \hypertarget{classNotifyQueue_ae1526218b13a69942daefa0a07a744a2}{
\index{NotifyQueue@{NotifyQueue}!xrl\_\-done@{xrl\_\-done}}
\index{xrl\_\-done@{xrl\_\-done}!NotifyQueue@{NotifyQueue}}
\subsubsection[{xrl\_\-done}]{\setlength{\rightskip}{0pt plus 5cm}void NotifyQueue::xrl\_\-done (
\begin{DoxyParamCaption}
\item[{const {\bf XrlError} \&}]{e}
\end{DoxyParamCaption}
)}}
\label{classNotifyQueue_ae1526218b13a69942daefa0a07a744a2}


XRL transmit complete callback. 

We use this to cause \hyperlink{protocolthe-p}{the} next item in \hyperlink{protocolthe-p}{the} queue to be sent.


\begin{DoxyParams}{Parameters}
{\em e} & \hyperlink{protocolthe-p}{the} XRL completion status code. \\
\hline
\end{DoxyParams}


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}
