\hypertarget{classMessage}{
\section{Message Class Reference}
\label{classMessage}\index{Message@{Message}}
}


An OLSR protocol message.  




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

Inheritance diagram for Message:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.754098cm]{classMessage}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMessage_a42c97cf534b966eb6fac2291c4582f39}{
\hyperlink{classTimeVal}{TimeVal} {\bfseries receive\_\-time} () const }
\label{classMessage_a42c97cf534b966eb6fac2291c4582f39}

\item 
\hypertarget{classMessage_a3387b320a6fd429f84baf8190fb5eea7}{
\hyperlink{classTimeVal}{TimeVal} {\bfseries expiry\_\-time} () const }
\label{classMessage_a3387b320a6fd429f84baf8190fb5eea7}

\item 
\hypertarget{classMessage_a1141184c47a3a84b6531dca6a7268a97}{
bool {\bfseries valid} () const }
\label{classMessage_a1141184c47a3a84b6531dca6a7268a97}

\item 
\hypertarget{classMessage_a92f18737df01b97b5ec769b5964f95dd}{
bool {\bfseries is\_\-first} () const }
\label{classMessage_a92f18737df01b97b5ec769b5964f95dd}

\item 
\hypertarget{classMessage_a70b994b40d288a9d1edcfde177f5775f}{
bool {\bfseries is\_\-last} () const }
\label{classMessage_a70b994b40d288a9d1edcfde177f5775f}

\item 
\hypertarget{classMessage_aa126b70e4b07db08952790a1f7704aec}{
void {\bfseries set\_\-is\_\-first} (bool arg)}
\label{classMessage_aa126b70e4b07db08952790a1f7704aec}

\item 
\hypertarget{classMessage_a66d05b39fe16fc3964aa7f8911cd8bc8}{
void {\bfseries set\_\-is\_\-last} (bool arg)}
\label{classMessage_a66d05b39fe16fc3964aa7f8911cd8bc8}

\item 
\hypertarget{classMessage_aaa070e8e9bf9586f756c281daac22bca}{
bool {\bfseries forwarded} () const }
\label{classMessage_aaa070e8e9bf9586f756c281daac22bca}

\item 
\hypertarget{classMessage_a9b743f19951e85fad035ebf3f1d06d6e}{
\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} {\bfseries faceid} () const }
\label{classMessage_a9b743f19951e85fad035ebf3f1d06d6e}

\item 
\hypertarget{classMessage_aa52ae2f910f968a28ea879270a377ced}{
uint8\_\-t {\bfseries hops} () const }
\label{classMessage_aa52ae2f910f968a28ea879270a377ced}

\item 
\hypertarget{classMessage_aa9f01658f7002be69f1ca9330f6839b9}{
void {\bfseries incr\_\-hops} ()}
\label{classMessage_aa9f01658f7002be69f1ca9330f6839b9}

\item 
\hypertarget{classMessage_a332fca32be3c57e63e45499ad8b29730}{
uint16\_\-t {\bfseries seqno} () const }
\label{classMessage_a332fca32be3c57e63e45499ad8b29730}

\item 
\hypertarget{classMessage_a3e1290b55ba88c46843c16b22672aa7b}{
uint8\_\-t {\bfseries ttl} () const }
\label{classMessage_a3e1290b55ba88c46843c16b22672aa7b}

\item 
\hypertarget{classMessage_afb86d74c9d48d18c88b0269614ac8a5e}{
void {\bfseries decr\_\-ttl} ()}
\label{classMessage_afb86d74c9d48d18c88b0269614ac8a5e}

\item 
\hypertarget{classMessage_a2c6ff6b868479827ed5b781d751af737}{
\hyperlink{classIPv4}{IPv4} {\bfseries origin} () const }
\label{classMessage_a2c6ff6b868479827ed5b781d751af737}

\item 
\hypertarget{classMessage_a2d6106ede3612a58de7d87ccf06a6569}{
\hyperlink{structOlsrTypes_a9a6a2deb80121d170b11c18f5d77769b}{OlsrTypes::MessageType} {\bfseries type} () const }
\label{classMessage_a2d6106ede3612a58de7d87ccf06a6569}

\item 
\hypertarget{classMessage_a0ac0461d575767286ae6f7cd04e28a3a}{
void {\bfseries set\_\-hop\_\-count} (uint8\_\-t hops)}
\label{classMessage_a0ac0461d575767286ae6f7cd04e28a3a}

\item 
\hypertarget{classMessage_a838797877ec71f5ec6a883b369ea18c4}{
void {\bfseries set\_\-forwarded} (bool is\_\-forwarded)}
\label{classMessage_a838797877ec71f5ec6a883b369ea18c4}

\item 
\hypertarget{classMessage_a9df8813de8b9f511a46b5eda2efd2127}{
void {\bfseries set\_\-expiry\_\-time} (const \hyperlink{classTimeVal}{TimeVal} \&expiry\_\-time)}
\label{classMessage_a9df8813de8b9f511a46b5eda2efd2127}

\item 
\hypertarget{classMessage_a4b0d53118d20f9f136d6138870ca68f7}{
void {\bfseries set\_\-receive\_\-time} (const \hyperlink{classTimeVal}{TimeVal} \&receive\_\-time)}
\label{classMessage_a4b0d53118d20f9f136d6138870ca68f7}

\item 
\hypertarget{classMessage_afa2cb1e5e30a65a15c1fd96a78af3da6}{
void {\bfseries set\_\-seqno} (uint16\_\-t seqno)}
\label{classMessage_afa2cb1e5e30a65a15c1fd96a78af3da6}

\item 
\hypertarget{classMessage_ad29104fd71c423d70cf171c253301503}{
void {\bfseries set\_\-ttl} (uint8\_\-t ttl)}
\label{classMessage_ad29104fd71c423d70cf171c253301503}

\item 
\hypertarget{classMessage_a8962428762567580870dbd2d5531f23d}{
void {\bfseries set\_\-type} (\hyperlink{structOlsrTypes_a9a6a2deb80121d170b11c18f5d77769b}{OlsrTypes::MessageType} type)}
\label{classMessage_a8962428762567580870dbd2d5531f23d}

\item 
\hypertarget{classMessage_a6866e0d74c168d74d308eed7298abeaf}{
void {\bfseries set\_\-valid} (bool is\_\-valid)}
\label{classMessage_a6866e0d74c168d74d308eed7298abeaf}

\item 
\hypertarget{classMessage_a92a8e1b20ab507dc3d8b841a30d9f650}{
void {\bfseries set\_\-origin} (\hyperlink{classIPv4}{IPv4} origin)}
\label{classMessage_a92a8e1b20ab507dc3d8b841a30d9f650}

\item 
\hypertarget{classMessage_af0d819784e1e4c1024a9feaca0a88fca}{
void {\bfseries set\_\-faceid} (\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} faceid)}
\label{classMessage_af0d819784e1e4c1024a9feaca0a88fca}

\item 
\hypertarget{classMessage_a4afa84bb355c890aa5ecc9c9c630afa7}{
virtual \hyperlink{classMessage}{Message} $\ast$ {\bfseries decode} (uint8\_\-t $\ast$buf, size\_\-t \&len)=0  throw (InvalidMessage)}
\label{classMessage_a4afa84bb355c890aa5ecc9c9c630afa7}

\item 
\hypertarget{classMessage_a2c4bd28df28387120b4cc66ef14c9eeb}{
virtual bool {\bfseries encode} (uint8\_\-t $\ast$buf, size\_\-t \&len)=0}
\label{classMessage_a2c4bd28df28387120b4cc66ef14c9eeb}

\item 
\hypertarget{classMessage_a24d961f9c1a7159b3536b2df1fd61602}{
virtual size\_\-t {\bfseries length} () const =0}
\label{classMessage_a24d961f9c1a7159b3536b2df1fd61602}

\item 
\hypertarget{classMessage_a66142427805e28bd9576a01a4da9d887}{
virtual string {\bfseries str} () const =0}
\label{classMessage_a66142427805e28bd9576a01a4da9d887}

\item 
\hypertarget{classMessage_a6327aaaf958079c5ad05fc2a4cca9b44}{
string {\bfseries common\_\-str} () const }
\label{classMessage_a6327aaaf958079c5ad05fc2a4cca9b44}

\item 
\hypertarget{classMessage_a4f8cc44e6124bfb8aadf1dc9d05f6a6e}{
uint16\_\-t {\bfseries adv\_\-message\_\-length} () const }
\label{classMessage_a4f8cc44e6124bfb8aadf1dc9d05f6a6e}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMessage_a3a50186c3c0bfc67ae7cc3d035c5d40c}{
static size\_\-t {\bfseries get\_\-common\_\-header\_\-length} ()}
\label{classMessage_a3a50186c3c0bfc67ae7cc3d035c5d40c}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMessage_a325ae6e6d563c43bcf086a4a43466dfd}{
size\_\-t {\bfseries decode\_\-common\_\-header} (uint8\_\-t $\ast$buf, size\_\-t \&len)  throw (InvalidMessage)}
\label{classMessage_a325ae6e6d563c43bcf086a4a43466dfd}

\item 
\hypertarget{classMessage_ac543b1f8648087d186afb7e80adecfe9}{
bool {\bfseries encode\_\-common\_\-header} (uint8\_\-t $\ast$buf, size\_\-t \&len)}
\label{classMessage_ac543b1f8648087d186afb7e80adecfe9}

\item 
\hypertarget{classMessage_afef408f8c77bea8a0e2ecda9c4ab8522}{
void {\bfseries store} (uint8\_\-t $\ast$ptr, size\_\-t len)}
\label{classMessage_afef408f8c77bea8a0e2ecda9c4ab8522}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMessage_a49d6ee4311f93bde9c8616f58ee96917}{
\hyperlink{classTimeVal}{TimeVal} {\bfseries \_\-receive\_\-time}}
\label{classMessage_a49d6ee4311f93bde9c8616f58ee96917}

\item 
\hypertarget{classMessage_a0c20bd7ad86c6bd4581c3704d3dff84a}{
\hyperlink{classTimeVal}{TimeVal} {\bfseries \_\-expiry\_\-time}}
\label{classMessage_a0c20bd7ad86c6bd4581c3704d3dff84a}

\item 
\hypertarget{classMessage_a005e9c5bd02427cdac3bf8010e82b547}{
bool {\bfseries \_\-is\_\-valid}}
\label{classMessage_a005e9c5bd02427cdac3bf8010e82b547}

\item 
\hypertarget{classMessage_a402001e67ff17ccf60f179aed631bcde}{
bool {\bfseries \_\-is\_\-forwarded}}
\label{classMessage_a402001e67ff17ccf60f179aed631bcde}

\item 
\hypertarget{classMessage_ade5bb11fe5275f8910a070270694429f}{
bool {\bfseries \_\-is\_\-first}}
\label{classMessage_ade5bb11fe5275f8910a070270694429f}

\item 
\hypertarget{classMessage_a6e3127624df4fa8b11f8ade63c30eaa3}{
bool {\bfseries \_\-is\_\-last}}
\label{classMessage_a6e3127624df4fa8b11f8ade63c30eaa3}

\item 
\hypertarget{classMessage_a56c9374adc4c6aee9122795b2499229d}{
\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} {\bfseries \_\-faceid}}
\label{classMessage_a56c9374adc4c6aee9122795b2499229d}

\item 
\hypertarget{classMessage_af7847b1207612a0d555f71b8d912919c}{
\hyperlink{classIPv4}{IPv4} {\bfseries \_\-origin}}
\label{classMessage_af7847b1207612a0d555f71b8d912919c}

\item 
\hypertarget{classMessage_aacbdf7d6d58518c0cb6a10b8eb05b896}{
uint8\_\-t {\bfseries \_\-type}}
\label{classMessage_aacbdf7d6d58518c0cb6a10b8eb05b896}

\item 
\hypertarget{classMessage_ab968e61936004fda0abbe54d562a4872}{
uint8\_\-t {\bfseries \_\-ttl}}
\label{classMessage_ab968e61936004fda0abbe54d562a4872}

\item 
\hypertarget{classMessage_a63d4d018b81f7fb75263ebcc86bfd6a6}{
uint8\_\-t {\bfseries \_\-hops}}
\label{classMessage_a63d4d018b81f7fb75263ebcc86bfd6a6}

\item 
\hypertarget{classMessage_a64a440171d15cf841dcbdcdb85088116}{
uint16\_\-t {\bfseries \_\-seqno}}
\label{classMessage_a64a440171d15cf841dcbdcdb85088116}

\item 
\hypertarget{classMessage_a7b16a324816e52a9a6468489a0ef5f08}{
uint16\_\-t {\bfseries \_\-adv\_\-message\_\-length}}
\label{classMessage_a7b16a324816e52a9a6468489a0ef5f08}

\item 
\hypertarget{classMessage_a0991522711121a944bae128dd5137dd2}{
vector$<$ uint8\_\-t $>$ {\bfseries \_\-msg}}
\label{classMessage_a0991522711121a944bae128dd5137dd2}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
An OLSR protocol message. 

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