\hypertarget{classRouterLsa}{
\section{RouterLsa Class Reference}
\label{classRouterLsa}\index{RouterLsa@{RouterLsa}}
}
Inheritance diagram for RouterLsa:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classRouterLsa}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterLsa_acf0d981eabf928f5f05730bb4689eb10}{
{\bfseries RouterLsa} (\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} version)}
\label{classRouterLsa_acf0d981eabf928f5f05730bb4689eb10}

\item 
\hypertarget{classRouterLsa_afb5d1397297d97e0d7b96a9dcae7e9e7}{
{\bfseries RouterLsa} (\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} version, uint8\_\-t $\ast$buf, size\_\-t len)}
\label{classRouterLsa_afb5d1397297d97e0d7b96a9dcae7e9e7}

\item 
size\_\-t \hyperlink{classRouterLsa_a2b7262bee886b7767db0b8f6394be557}{min\_\-length} () const 
\item 
uint16\_\-t \hyperlink{classRouterLsa_abe7ba9c313ec2f3ef28170bf78943249}{get\_\-ls\_\-type} () const 
\begin{DoxyCompactList}\small\item\em It is \hyperlink{protocolthe-p}{the} responsibilty of \hyperlink{protocolthe-p}{the} derived type to return this information. \item\end{DoxyCompactList}\item 
\hyperlink{classref__ptr}{LsaRef} \hyperlink{classRouterLsa_a8fb8bfe10a25a79e239d8f61f78e8f5a}{decode} (uint8\_\-t $\ast$buf, size\_\-t \&len) const   throw (InvalidPacket)
\begin{DoxyCompactList}\small\item\em Decode an LSA. \item\end{DoxyCompactList}\item 
bool \hyperlink{classRouterLsa_a8c62d79cad822e861bae5de5667170fc}{encode} ()
\begin{DoxyCompactList}\small\item\em Encode an LSA for transmission. \item\end{DoxyCompactList}\item 
\hypertarget{classRouterLsa_a30aa9bf4d8408431a69b384eeb746528}{
void {\bfseries set\_\-nt\_\-bit} (bool bit)}
\label{classRouterLsa_a30aa9bf4d8408431a69b384eeb746528}

\item 
\hypertarget{classRouterLsa_ad34e1ddf4c64eda2b231c2847c1664e9}{
bool {\bfseries get\_\-nt\_\-bit} () const }
\label{classRouterLsa_ad34e1ddf4c64eda2b231c2847c1664e9}

\item 
\hypertarget{classRouterLsa_a276da28285c7e0de636caeec51e4a9bc}{
void {\bfseries set\_\-w\_\-bit} (bool bit)}
\label{classRouterLsa_a276da28285c7e0de636caeec51e4a9bc}

\item 
\hypertarget{classRouterLsa_a30affb9396dd3d546c15ce643ba7f6bc}{
bool {\bfseries get\_\-w\_\-bit} () const }
\label{classRouterLsa_a30affb9396dd3d546c15ce643ba7f6bc}

\item 
\hypertarget{classRouterLsa_ad5fdfb7803b378d2c6726ede2381f901}{
void {\bfseries set\_\-v\_\-bit} (bool bit)}
\label{classRouterLsa_ad5fdfb7803b378d2c6726ede2381f901}

\item 
\hypertarget{classRouterLsa_aad57745d8b182cfdcc213b475c008fb3}{
bool {\bfseries get\_\-v\_\-bit} () const }
\label{classRouterLsa_aad57745d8b182cfdcc213b475c008fb3}

\item 
\hypertarget{classRouterLsa_ad0363c2c78f282ad5c42ce03833dee20}{
void {\bfseries set\_\-e\_\-bit} (bool bit)}
\label{classRouterLsa_ad0363c2c78f282ad5c42ce03833dee20}

\item 
\hypertarget{classRouterLsa_ac9e39b21294e6dd6f8ce45cc904a84d0}{
bool {\bfseries get\_\-e\_\-bit} () const }
\label{classRouterLsa_ac9e39b21294e6dd6f8ce45cc904a84d0}

\item 
\hypertarget{classRouterLsa_a019d3468659f1b14d98186445ce9052c}{
void {\bfseries set\_\-b\_\-bit} (bool bit)}
\label{classRouterLsa_a019d3468659f1b14d98186445ce9052c}

\item 
\hypertarget{classRouterLsa_ad3d391c99aa2323f7b8744dbe2734143}{
bool {\bfseries get\_\-b\_\-bit} () const }
\label{classRouterLsa_ad3d391c99aa2323f7b8744dbe2734143}

\item 
\hypertarget{classRouterLsa_ae0b65e19106e40347131f95ed1034b0b}{
void {\bfseries set\_\-options} (uint32\_\-t options)}
\label{classRouterLsa_ae0b65e19106e40347131f95ed1034b0b}

\item 
\hypertarget{classRouterLsa_af0cdb865e494086b9c57c34efc7f793f}{
uint32\_\-t {\bfseries get\_\-options} () const }
\label{classRouterLsa_af0cdb865e494086b9c57c34efc7f793f}

\item 
\hypertarget{classRouterLsa_a567e522ed263ea42ff8c0aadcfd515c3}{
list$<$ \hyperlink{classRouterLink}{RouterLink} $>$ \& {\bfseries get\_\-router\_\-links} ()}
\label{classRouterLsa_a567e522ed263ea42ff8c0aadcfd515c3}

\item 
\hypertarget{classRouterLsa_a6dde93950871cb55c96339903b8ea641}{
const char $\ast$ \hyperlink{classRouterLsa_a6dde93950871cb55c96339903b8ea641}{name} () const }
\label{classRouterLsa_a6dde93950871cb55c96339903b8ea641}

\begin{DoxyCompactList}\small\item\em Printable name of this LSA. \item\end{DoxyCompactList}\item 
\hypertarget{classRouterLsa_a7a9e337f5549103b9f5d964213230b6d}{
string \hyperlink{classRouterLsa_a7a9e337f5549103b9f5d964213230b6d}{str} () const }
\label{classRouterLsa_a7a9e337f5549103b9f5d964213230b6d}

\begin{DoxyCompactList}\small\item\em Generate a printable representation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterLsa_acb2322c81941a851e064c5cb43f99866}{
bool {\bfseries \_\-nt\_\-bit}}
\label{classRouterLsa_acb2322c81941a851e064c5cb43f99866}

\item 
\hypertarget{classRouterLsa_a9f7bc857e39a25a0cd5607e6e647a9b7}{
bool {\bfseries \_\-w\_\-bit}}
\label{classRouterLsa_a9f7bc857e39a25a0cd5607e6e647a9b7}

\item 
\hypertarget{classRouterLsa_a5280872a7b0b54ecd5353ea4e188425d}{
bool {\bfseries \_\-v\_\-bit}}
\label{classRouterLsa_a5280872a7b0b54ecd5353ea4e188425d}

\item 
\hypertarget{classRouterLsa_a23621788ce76996ca3bfb444d0b6f017}{
bool {\bfseries \_\-e\_\-bit}}
\label{classRouterLsa_a23621788ce76996ca3bfb444d0b6f017}

\item 
\hypertarget{classRouterLsa_a9e89fc66574875b00a1fc99418236f8b}{
bool {\bfseries \_\-b\_\-bit}}
\label{classRouterLsa_a9e89fc66574875b00a1fc99418236f8b}

\item 
\hypertarget{classRouterLsa_af47ee72932da1f7b1b6b145222fdcaba}{
uint32\_\-t {\bfseries \_\-options}}
\label{classRouterLsa_af47ee72932da1f7b1b6b145222fdcaba}

\item 
\hypertarget{classRouterLsa_a591ec0f513cbf6cc0eaaa3a9954d5a57}{
list$<$ \hyperlink{classRouterLink}{RouterLink} $>$ {\bfseries \_\-router\_\-links}}
\label{classRouterLsa_a591ec0f513cbf6cc0eaaa3a9954d5a57}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classRouterLsa_a8fb8bfe10a25a79e239d8f61f78e8f5a}{
\index{RouterLsa@{RouterLsa}!decode@{decode}}
\index{decode@{decode}!RouterLsa@{RouterLsa}}
\subsubsection[{decode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Lsa::LsaRef} RouterLsa::decode (
\begin{DoxyParamCaption}
\item[{uint8\_\-t $\ast$}]{buf, }
\item[{size\_\-t \&}]{len}
\end{DoxyParamCaption}
) const  throw ({\bf InvalidPacket})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRouterLsa_a8fb8bfe10a25a79e239d8f61f78e8f5a}


Decode an LSA. 


\begin{DoxyParams}{Parameters}
{\em buf} & pointer to buffer. \\
\hline
{\em len} & length of \hyperlink{protocolthe-p}{the} buffer on input set to \hyperlink{protocolthe-p}{the} number of bytes consumed on output.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to an LSA that manages its own memory. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_a2658a7d54d470268138d15938be0f464}{Lsa}.

\hypertarget{classRouterLsa_a8c62d79cad822e861bae5de5667170fc}{
\index{RouterLsa@{RouterLsa}!encode@{encode}}
\index{encode@{encode}!RouterLsa@{RouterLsa}}
\subsubsection[{encode}]{\setlength{\rightskip}{0pt plus 5cm}bool RouterLsa::encode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRouterLsa_a8c62d79cad822e861bae5de5667170fc}


Encode an LSA for transmission. 

\begin{DoxyReturn}{Returns}
True on success. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_ae3bd3a0bd24ed458cc8ac8d7e91d1c35}{Lsa}.

\hypertarget{classRouterLsa_abe7ba9c313ec2f3ef28170bf78943249}{
\index{RouterLsa@{RouterLsa}!get\_\-ls\_\-type@{get\_\-ls\_\-type}}
\index{get\_\-ls\_\-type@{get\_\-ls\_\-type}!RouterLsa@{RouterLsa}}
\subsubsection[{get\_\-ls\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}uint16\_\-t RouterLsa::get\_\-ls\_\-type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classRouterLsa_abe7ba9c313ec2f3ef28170bf78943249}


It is \hyperlink{protocolthe-p}{the} responsibilty of \hyperlink{protocolthe-p}{the} derived type to return this information. 

\begin{DoxyReturn}{Returns}
The type this lsa represents. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_a0dcc648678ac88856635609a17029ae9}{Lsa}.

\hypertarget{classRouterLsa_a2b7262bee886b7767db0b8f6394be557}{
\index{RouterLsa@{RouterLsa}!min\_\-length@{min\_\-length}}
\index{min\_\-length@{min\_\-length}!RouterLsa@{RouterLsa}}
\subsubsection[{min\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t RouterLsa::min\_\-length (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classRouterLsa_a2b7262bee886b7767db0b8f6394be557}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} minimum length of a Router-\/LSA. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_ad3324ea3bfa81ff90d15690c5ccbd1e4}{Lsa}.



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