\hypertarget{classProtocol}{
\section{Protocol Class Reference}
\label{classProtocol}\index{Protocol@{Protocol}}
}


\hyperlink{classRouting}{Routing} protocol information.  




{\ttfamily \#include $<$protocol.hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classProtocol_a12ae5a27db4fd071e96e8cc80b8318f1}{Protocol} (const string \&name, ProtocolType protocol\_\-type, uint32\_\-t genid)
\begin{DoxyCompactList}\small\item\em \hyperlink{classProtocol}{Protocol} constuctor. \item\end{DoxyCompactList}\item 
ProtocolType \hyperlink{classProtocol_a89bfeaa1cba4eed799156e273f2345ee}{protocol\_\-type} () const 
\item 
const string \& \hyperlink{classProtocol_a8a74c64f2ab3211919db7a913cfdba27}{name} () const 
\item 
bool \hyperlink{classProtocol_adcbb257cced9f49e11a569ca002f41f1}{operator==} (const \hyperlink{classProtocol}{Protocol} \&other) const 
\begin{DoxyCompactList}\small\item\em Equality Operator. \item\end{DoxyCompactList}\item 
\hypertarget{classProtocol_a6efc46178cf956b1ce8096ba65d5b0a1}{
void \hyperlink{classProtocol_a6efc46178cf956b1ce8096ba65d5b0a1}{increment\_\-genid} ()}
\label{classProtocol_a6efc46178cf956b1ce8096ba65d5b0a1}

\begin{DoxyCompactList}\small\item\em Increment \hyperlink{protocolthe-p}{the} protocol generation ID. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classProtocol_adec06587b7f090774b8ec4fa224dae37}{
string {\bfseries \_\-name}}
\label{classProtocol_adec06587b7f090774b8ec4fa224dae37}

\item 
\hypertarget{classProtocol_a011f430137175dba55bedf68cecb98ab}{
ProtocolType {\bfseries \_\-protocol\_\-type}}
\label{classProtocol_a011f430137175dba55bedf68cecb98ab}

\item 
\hypertarget{classProtocol_a544b0e02a756c85ea0607c4213fad2d2}{
uint32\_\-t {\bfseries \_\-genid}}
\label{classProtocol_a544b0e02a756c85ea0607c4213fad2d2}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{classRouting}{Routing} protocol information. \hyperlink{classProtocol}{Protocol} holds information related to a specific routing protocol that is supplying information to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classProtocol_a12ae5a27db4fd071e96e8cc80b8318f1}{
\index{Protocol@{Protocol}!Protocol@{Protocol}}
\index{Protocol@{Protocol}!Protocol@{Protocol}}
\subsubsection[{Protocol}]{\setlength{\rightskip}{0pt plus 5cm}Protocol::Protocol (
\begin{DoxyParamCaption}
\item[{const string \&}]{name, }
\item[{ProtocolType}]{protocol\_\-type, }
\item[{uint32\_\-t}]{genid}
\end{DoxyParamCaption}
)}}
\label{classProtocol_a12ae5a27db4fd071e96e8cc80b8318f1}


\hyperlink{classProtocol}{Protocol} constuctor. 


\begin{DoxyParams}{Parameters}
{\em name} & \hyperlink{protocolthe-p}{the} canonical name for \hyperlink{protocolthe-p}{the} routing protocol. \\
\hline
{\em protocol\_\-type} & \hyperlink{protocolthe-p}{the} routing protocol type (ProtocolType). \\
\hline
{\em genid} & \hyperlink{protocolthe-p}{the} generation ID for \hyperlink{protocolthe-p}{the} protocol (if \hyperlink{protocolthe-p}{the} protocol goes down and comes up, \hyperlink{protocolthe-p}{the} genid should be incremented). \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classProtocol_a8a74c64f2ab3211919db7a913cfdba27}{
\index{Protocol@{Protocol}!name@{name}}
\index{name@{name}!Protocol@{Protocol}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}const string\& Protocol::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtocol_a8a74c64f2ab3211919db7a913cfdba27}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} canonical name of \hyperlink{protocolthe-p}{the} routing protocol. 
\end{DoxyReturn}
\hypertarget{classProtocol_adcbb257cced9f49e11a569ca002f41f1}{
\index{Protocol@{Protocol}!operator==@{operator==}}
\index{operator==@{operator==}!Protocol@{Protocol}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool Protocol::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf Protocol} \&}]{other}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtocol_adcbb257cced9f49e11a569ca002f41f1}


Equality Operator. 

Two \hyperlink{classProtocol}{Protocol} instances are equal if they match only in name.


\begin{DoxyParams}{Parameters}
{\em other} & \hyperlink{protocolthe-p}{the} right-\/hand operand to compare against. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} left-\/hand \hyperlink{classProtocol}{Protocol} instance is equal to \hyperlink{protocolthe-p}{the} right-\/hand protocol instance. 
\end{DoxyReturn}
\hypertarget{classProtocol_a89bfeaa1cba4eed799156e273f2345ee}{
\index{Protocol@{Protocol}!protocol\_\-type@{protocol\_\-type}}
\index{protocol\_\-type@{protocol\_\-type}!Protocol@{Protocol}}
\subsubsection[{protocol\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}ProtocolType Protocol::protocol\_\-type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtocol_a89bfeaa1cba4eed799156e273f2345ee}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} protocol type. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
ProtocolType 
\end{DoxySeeAlso}


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