\hypertarget{classClusterListAttribute}{
\section{ClusterListAttribute Class Reference}
\label{classClusterListAttribute}\index{ClusterListAttribute@{ClusterListAttribute}}
}
Inheritance diagram for ClusterListAttribute:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classClusterListAttribute}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classClusterListAttribute_a0d058164b6d9c0ca29e5ef604e67e9b9}{
typedef list$<$ \hyperlink{classIPv4}{IPv4} $>$::const\_\-iterator {\bfseries const\_\-iterator}}
\label{classClusterListAttribute_a0d058164b6d9c0ca29e5ef604e67e9b9}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classClusterListAttribute_a89761714c15d2c26c422d851be04f870}{
\hyperlink{classClusterListAttribute_a89761714c15d2c26c422d851be04f870}{ClusterListAttribute} ()}
\label{classClusterListAttribute_a89761714c15d2c26c422d851be04f870}

\begin{DoxyCompactList}\small\item\em \hyperlink{classClusterListAttribute}{ClusterListAttribute}. \item\end{DoxyCompactList}\item 
\hypertarget{classClusterListAttribute_a4ec2ef6b919ccb957b3e0603b7784cfb}{
{\bfseries ClusterListAttribute} (const uint8\_\-t $\ast$d)  throw (CorruptMessage)}
\label{classClusterListAttribute_a4ec2ef6b919ccb957b3e0603b7784cfb}

\item 
\hyperlink{classPathAttribute}{PathAttribute} $\ast$ \hyperlink{classClusterListAttribute_a531d8f02419e93a91c218bd68d350fe9}{clone} () const 
\begin{DoxyCompactList}\small\item\em Make a copy of \hyperlink{protocolthe-p}{the} current attribute. \item\end{DoxyCompactList}\item 
string \hyperlink{classClusterListAttribute_aec01840787de1e5b384c283be42405c4}{str} () const 
\begin{DoxyCompactList}\small\item\em We need to encode an attribute to send to a peer. \item\end{DoxyCompactList}\item 
\hypertarget{classClusterListAttribute_abe6270282bc48d45b8c9ff2b2d702b72}{
const list$<$ \hyperlink{classIPv4}{IPv4} $>$ \& {\bfseries cluster\_\-list} () const }
\label{classClusterListAttribute_abe6270282bc48d45b8c9ff2b2d702b72}

\item 
\hypertarget{classClusterListAttribute_aa5f30f81ecd56224805b4c71b8bc4b60}{
void {\bfseries prepend\_\-cluster\_\-id} (\hyperlink{classIPv4}{IPv4} cluster\_\-id)}
\label{classClusterListAttribute_aa5f30f81ecd56224805b4c71b8bc4b60}

\item 
\hypertarget{classClusterListAttribute_a5b9b5f3a32baf0e33ed8f2ceb727f8a8}{
bool {\bfseries contains} (\hyperlink{classIPv4}{IPv4} cluster\_\-id) const }
\label{classClusterListAttribute_a5b9b5f3a32baf0e33ed8f2ceb727f8a8}

\item 
bool \hyperlink{classClusterListAttribute_a49456285a512e33812962260f86161ed}{encode} (uint8\_\-t $\ast$buf, size\_\-t \&wire\_\-size, const \hyperlink{classBGPPeerData}{BGPPeerData} $\ast$peerdata) const 
\begin{DoxyCompactList}\small\item\em encode a path attribute. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classClusterListAttribute_ab0fbd1fbe8f94433018bdaada3f5feee}{
list$<$ \hyperlink{classIPv4}{IPv4} $>$ {\bfseries \_\-cluster\_\-list}}
\label{classClusterListAttribute_ab0fbd1fbe8f94433018bdaada3f5feee}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classClusterListAttribute_a531d8f02419e93a91c218bd68d350fe9}{
\index{ClusterListAttribute@{ClusterListAttribute}!clone@{clone}}
\index{clone@{clone}!ClusterListAttribute@{ClusterListAttribute}}
\subsubsection[{clone}]{\setlength{\rightskip}{0pt plus 5cm}{\bf PathAttribute} $\ast$ ClusterListAttribute::clone (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classClusterListAttribute_a531d8f02419e93a91c218bd68d350fe9}


Make a copy of \hyperlink{protocolthe-p}{the} current attribute. 

The derived class should use new to generate a copy of itself. The wire format representation will not be used by \hyperlink{protocolthe-p}{the} caller. 

Implements \hyperlink{classPathAttribute_a17f0c215d2873317797a899b7ac58ef6}{PathAttribute}.

\hypertarget{classClusterListAttribute_a49456285a512e33812962260f86161ed}{
\index{ClusterListAttribute@{ClusterListAttribute}!encode@{encode}}
\index{encode@{encode}!ClusterListAttribute@{ClusterListAttribute}}
\subsubsection[{encode}]{\setlength{\rightskip}{0pt plus 5cm}bool ClusterListAttribute::encode (
\begin{DoxyParamCaption}
\item[{uint8\_\-t $\ast$}]{buf, }
\item[{size\_\-t \&}]{wire\_\-size, }
\item[{const {\bf BGPPeerData} $\ast$}]{peerdata}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classClusterListAttribute_a49456285a512e33812962260f86161ed}


encode a path attribute. 

In a sane world, we'd use a virtual function for this. But we store so many path attributes that we can't afford \hyperlink{protocolthe-p}{the} overhead of a virtual function table for them, so we have to do this \hyperlink{protocolthe-p}{the} hard way

XXX THE ABOVE IS NO LONGER THE CASE. WE SHOULD REWRITE THIS TO USE VIRTUAL FUNCTIONS 

Implements \hyperlink{classPathAttribute_a5570039d9cd5e255bb187fd245861e09}{PathAttribute}.

\hypertarget{classClusterListAttribute_aec01840787de1e5b384c283be42405c4}{
\index{ClusterListAttribute@{ClusterListAttribute}!str@{str}}
\index{str@{str}!ClusterListAttribute@{ClusterListAttribute}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}string ClusterListAttribute::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classClusterListAttribute_aec01840787de1e5b384c283be42405c4}


We need to encode an attribute to send to a peer. 

However we only have \hyperlink{protocolthe-p}{the} canonically encoded byte stream data for it. Sometimes that is fine, and we should just send that; sometimes we need to decode and re-\/encode for this specific peer. 

Reimplemented from \hyperlink{classPathAttribute_aae2900e4b96589e10291f96d3f584b6e}{PathAttribute}.



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