\hypertarget{classLogicalLink}{
\section{LogicalLink Class Reference}
\label{classLogicalLink}\index{LogicalLink@{LogicalLink}}
}


Logical link used to reach a directly reachable \hyperlink{classNeighbor}{Neighbor}.  




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLogicalLink_a3067f76e8a5f6df9b4a7512b956bea09}{
{\bfseries LogicalLink} (\hyperlink{classNeighborhood}{Neighborhood} $\ast$tm, \hyperlink{classEventLoop}{EventLoop} \&eventloop, const \hyperlink{structOlsrTypes_a5c8f1d4f06caa7b0cb4b05f7aef7b67f}{OlsrTypes::LogicalLinkID} id, const \hyperlink{classTimeVal}{TimeVal} \&vtime, const \hyperlink{classIPv4}{IPv4} \&remote\_\-addr, const \hyperlink{classIPv4}{IPv4} \&local\_\-addr)}
\label{classLogicalLink_a3067f76e8a5f6df9b4a7512b956bea09}

\item 
\hyperlink{structOlsrTypes_a5c8f1d4f06caa7b0cb4b05f7aef7b67f}{OlsrTypes::LogicalLinkID} \hyperlink{classLogicalLink_a6a713cc2c860fd963d1642c74a086667}{id} () const 
\item 
\hyperlink{structOlsrTypes_a246952255e8728960d15898f8f96e017}{OlsrTypes::NeighborID} \hyperlink{classLogicalLink_af3e3103f74a5a80f2b4a9e9032657a97}{neighbor\_\-id} () const 
\item 
void \hyperlink{classLogicalLink_a1fb3d9ada7292fc736cf240059ad58ac}{set\_\-neighbor\_\-id} (\hyperlink{structOlsrTypes_a246952255e8728960d15898f8f96e017}{OlsrTypes::NeighborID} neighborid)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} neighbor at \hyperlink{protocolthe-p}{the} far end of this link. \item\end{DoxyCompactList}\item 
\hyperlink{classNeighbor}{Neighbor} $\ast$ \hyperlink{classLogicalLink_acc2153e03c3671497cb3a2d1b92c2197}{destination} () const 
\item 
void \hyperlink{classLogicalLink_adf34d7a20ebe811d5025f38dbedab677}{set\_\-destination} (\hyperlink{classNeighbor}{Neighbor} $\ast$n)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} cached neighbor pointer. \item\end{DoxyCompactList}\item 
\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} \hyperlink{classLogicalLink_ae0219fb43bd8df9b1b1822fe86800e10}{faceid} () const 
\item 
void \hyperlink{classLogicalLink_ac75e772eb7540c42cb81f063e7713218}{set\_\-faceid} (\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} faceid)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} local interface where this link resides. \item\end{DoxyCompactList}\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classLogicalLink_afcf62f3e16c6a58835c00dfd64b5f5ef}{local\_\-addr} () const 
\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classLogicalLink_a25e063280aef022662e5dbc55c5e2ef9}{remote\_\-addr} () const 
\item 
double \hyperlink{classLogicalLink_a4e281121a143323143352fb47514192c}{near\_\-etx} () const 
\item 
double \hyperlink{classLogicalLink_a6ebf7f8b117446b6cda0b5eddb2f8d37}{far\_\-etx} () const 
\item 
void \hyperlink{classLogicalLink_a2e1d44b1f80f8246c8b84620140a647c}{update\_\-timers} (const \hyperlink{classTimeVal}{TimeVal} \&vtime, bool saw\_\-self=false, const \hyperlink{classLinkCode}{LinkCode} lc=\hyperlink{classLinkCode}{LinkCode}())
\begin{DoxyCompactList}\small\item\em Update \hyperlink{protocolthe-p}{the} link timers, based on \hyperlink{protocolthe-p}{the} information present in a HELLO message. \item\end{DoxyCompactList}\item 
\hyperlink{structOlsrTypes_a13b918d8bafa2fd850a7404fcb6cf5d2}{OlsrTypes::LinkType} \hyperlink{classLogicalLink_af0aea98078a83dbf3b46cc3fb046df5b}{link\_\-type} () const 
\begin{DoxyCompactList}\small\item\em Determine \hyperlink{protocolthe-p}{the} current state of \hyperlink{protocolthe-p}{the} link. \item\end{DoxyCompactList}\item 
bool \hyperlink{classLogicalLink_ad419219696cbba7acaf8957bbfe8a308}{is\_\-sym} () const 
\item 
\hyperlink{classTimeVal}{TimeVal} \hyperlink{classLogicalLink_a42dcc0627abc7dd839263da4a118f928}{sym\_\-time\_\-remaining} () const 
\item 
\hyperlink{classTimeVal}{TimeVal} \hyperlink{classLogicalLink_ae7c40f1bc3d4d5d08a294557cd1f4538}{asym\_\-time\_\-remaining} () const 
\item 
\hyperlink{classTimeVal}{TimeVal} \hyperlink{classLogicalLink_a858009ff49488c11ef4a6620e6b24c16}{time\_\-remaining} () const 
\item 
bool \hyperlink{classLogicalLink_a9a52395fbc11c5d802f9486bc3a76930}{pending} () const 
\begin{DoxyCompactList}\small\item\em Determine if a link is pending (i.e. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a7347229db0aa021b26c49cbce94fc243}{
void \hyperlink{classLogicalLink_a7347229db0aa021b26c49cbce94fc243}{event\_\-sym\_\-timer} ()}
\label{classLogicalLink_a7347229db0aa021b26c49cbce94fc243}

\begin{DoxyCompactList}\small\item\em Callback method to: service a LogicalLink's SYM timer. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a783fcabbc1aecc4a68cf1b0b87aeb836}{
void \hyperlink{classLogicalLink_a783fcabbc1aecc4a68cf1b0b87aeb836}{event\_\-asym\_\-timer} ()}
\label{classLogicalLink_a783fcabbc1aecc4a68cf1b0b87aeb836}

\begin{DoxyCompactList}\small\item\em Callback method to: service a LogicalLink's ASYM timer. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a45eb50a2670f5bef3ad010cae0d04b94}{
void \hyperlink{classLogicalLink_a45eb50a2670f5bef3ad010cae0d04b94}{event\_\-lost\_\-timer} ()}
\label{classLogicalLink_a45eb50a2670f5bef3ad010cae0d04b94}

\begin{DoxyCompactList}\small\item\em Callback method to: service a LogicalLink's LOST timer. \item\end{DoxyCompactList}\item 
void \hyperlink{classLogicalLink_a5ea8cb276f01ca0ac14201fdb51e8024}{event\_\-dead\_\-timer} ()
\begin{DoxyCompactList}\small\item\em Callback method to: service a LogicalLink's DEAD timer. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLogicalLink_a4d0cc573e19a3b758ec9dcc995ae014b}{
\hyperlink{classNeighborhood}{Neighborhood} $\ast$ {\bfseries \_\-nh}}
\label{classLogicalLink_a4d0cc573e19a3b758ec9dcc995ae014b}

\item 
\hypertarget{classLogicalLink_ad836b8d4c01090286bc31dae8e503d22}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classLogicalLink_ad836b8d4c01090286bc31dae8e503d22}

\item 
\hypertarget{classLogicalLink_aacf5d6251a0d244700a68e8e8e250503}{
\hyperlink{structOlsrTypes_a5c8f1d4f06caa7b0cb4b05f7aef7b67f}{OlsrTypes::LogicalLinkID} \hyperlink{classLogicalLink_aacf5d6251a0d244700a68e8e8e250503}{\_\-id}}
\label{classLogicalLink_aacf5d6251a0d244700a68e8e8e250503}

\begin{DoxyCompactList}\small\item\em Unique identifier of link. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a4fd10fabd85b43081c262ec1134ba240}{
\hyperlink{structOlsrTypes_a0be5017ad053311658089d9a795c63ac}{OlsrTypes::FaceID} \hyperlink{classLogicalLink_a4fd10fabd85b43081c262ec1134ba240}{\_\-faceid}}
\label{classLogicalLink_a4fd10fabd85b43081c262ec1134ba240}

\begin{DoxyCompactList}\small\item\em ID of interface where this link resides. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_aa50465317721cfd231897d60c29105b0}{
\hyperlink{structOlsrTypes_a246952255e8728960d15898f8f96e017}{OlsrTypes::NeighborID} \hyperlink{classLogicalLink_aa50465317721cfd231897d60c29105b0}{\_\-neighborid}}
\label{classLogicalLink_aa50465317721cfd231897d60c29105b0}

\begin{DoxyCompactList}\small\item\em ID of neighbor at other end of link. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_ad5944a672d8bd06d469850b69bfe7829}{
\hyperlink{classNeighbor}{Neighbor} $\ast$ \hyperlink{classLogicalLink_ad5944a672d8bd06d469850b69bfe7829}{\_\-destination}}
\label{classLogicalLink_ad5944a672d8bd06d469850b69bfe7829}

\begin{DoxyCompactList}\small\item\em Cached pointer to \hyperlink{classNeighbor}{Neighbor}. \item\end{DoxyCompactList}\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classLogicalLink_aacfea1881de338da99497297fa8b89ad}{\_\-remote\_\-addr}
\begin{DoxyCompactList}\small\item\em L\_\-neighbor\_\-iface\_\-addr protocol variable. \item\end{DoxyCompactList}\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classLogicalLink_ab3db97e5d1485161880df5136a392d59}{\_\-local\_\-addr}
\begin{DoxyCompactList}\small\item\em L\_\-local\_\-iface\_\-addr protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a32b0a86fde23152c1a4a25d30a883569}{
\hyperlink{classXorpTimer}{XorpTimer} \hyperlink{classLogicalLink_a32b0a86fde23152c1a4a25d30a883569}{\_\-sym\_\-timer}}
\label{classLogicalLink_a32b0a86fde23152c1a4a25d30a883569}

\begin{DoxyCompactList}\small\item\em L\_\-SYM\_\-time protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_aa425f3f6b5ec4274975ca34b84dd75a6}{
\hyperlink{classXorpTimer}{XorpTimer} \hyperlink{classLogicalLink_aa425f3f6b5ec4274975ca34b84dd75a6}{\_\-asym\_\-timer}}
\label{classLogicalLink_aa425f3f6b5ec4274975ca34b84dd75a6}

\begin{DoxyCompactList}\small\item\em L\_\-ASYM\_\-time protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_abc343e989ad82865081227d5ca3402c4}{
\hyperlink{classXorpTimer}{XorpTimer} \hyperlink{classLogicalLink_abc343e989ad82865081227d5ca3402c4}{\_\-lost\_\-timer}}
\label{classLogicalLink_abc343e989ad82865081227d5ca3402c4}

\begin{DoxyCompactList}\small\item\em L\_\-LOST\_\-LINK\_\-time protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a2e1066c9d9422c20cab2e577bbd8d557}{
\hyperlink{classXorpTimer}{XorpTimer} \hyperlink{classLogicalLink_a2e1066c9d9422c20cab2e577bbd8d557}{\_\-dead\_\-timer}}
\label{classLogicalLink_a2e1066c9d9422c20cab2e577bbd8d557}

\begin{DoxyCompactList}\small\item\em L\_\-time protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_ae7d72b8acdcf23b067db9797e7c6220b}{
bool \hyperlink{classLogicalLink_ae7d72b8acdcf23b067db9797e7c6220b}{\_\-is\_\-pending}}
\label{classLogicalLink_ae7d72b8acdcf23b067db9797e7c6220b}

\begin{DoxyCompactList}\small\item\em L\_\-link\_\-pending protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a54d0df2e4d0ec3205dbd7ce15efc9c07}{
double \hyperlink{classLogicalLink_a54d0df2e4d0ec3205dbd7ce15efc9c07}{\_\-near\_\-etx}}
\label{classLogicalLink_a54d0df2e4d0ec3205dbd7ce15efc9c07}

\begin{DoxyCompactList}\small\item\em L\_\-link\_\-etx protocol variable. \item\end{DoxyCompactList}\item 
\hypertarget{classLogicalLink_a17a743bf46b8dcf741061afcbae32eae}{
double \hyperlink{classLogicalLink_a17a743bf46b8dcf741061afcbae32eae}{\_\-far\_\-etx}}
\label{classLogicalLink_a17a743bf46b8dcf741061afcbae32eae}

\begin{DoxyCompactList}\small\item\em ETX far-\/end measurement. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Logical link used to reach a directly reachable \hyperlink{classNeighbor}{Neighbor}. \hyperlink{classLogicalLink}{LogicalLink} is so named because it is mostly independent of \hyperlink{protocolthe-p}{the} underlying link layer. OLSR uses link-\/layer broadcasts or multicasts for \hyperlink{protocolthe-p}{the} purposes of neighbor discovery, and links are created through \hyperlink{protocolthe-p}{the} exchange of HELLO messages. \hyperlink{classLogicalLink}{LogicalLink} may be associated with link-\/layer specific state, e.g. that of an 802.11s mesh portal. 

\subsection{Member Function Documentation}
\hypertarget{classLogicalLink_ae7c40f1bc3d4d5d08a294557cd1f4538}{
\index{LogicalLink@{LogicalLink}!asym\_\-time\_\-remaining@{asym\_\-time\_\-remaining}}
\index{asym\_\-time\_\-remaining@{asym\_\-time\_\-remaining}!LogicalLink@{LogicalLink}}
\subsubsection[{asym\_\-time\_\-remaining}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TimeVal} LogicalLink::asym\_\-time\_\-remaining (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_ae7c40f1bc3d4d5d08a294557cd1f4538}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} amount of time remaining until \hyperlink{protocolthe-p}{the} ASYM timer fires. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_acc2153e03c3671497cb3a2d1b92c2197}{
\index{LogicalLink@{LogicalLink}!destination@{destination}}
\index{destination@{destination}!LogicalLink@{LogicalLink}}
\subsubsection[{destination}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neighbor}$\ast$ LogicalLink::destination (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_acc2153e03c3671497cb3a2d1b92c2197}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} cached \hyperlink{classNeighbor}{Neighbor} pointer. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a5ea8cb276f01ca0ac14201fdb51e8024}{
\index{LogicalLink@{LogicalLink}!event\_\-dead\_\-timer@{event\_\-dead\_\-timer}}
\index{event\_\-dead\_\-timer@{event\_\-dead\_\-timer}!LogicalLink@{LogicalLink}}
\subsubsection[{event\_\-dead\_\-timer}]{\setlength{\rightskip}{0pt plus 5cm}void LogicalLink::event\_\-dead\_\-timer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classLogicalLink_a5ea8cb276f01ca0ac14201fdb51e8024}


Callback method to: service a LogicalLink's DEAD timer. 

This is immediately passed to \hyperlink{protocolthe-p}{the} parent \hyperlink{classNeighborhood}{Neighborhood} as \hyperlink{protocolthe-p}{the} link may be deleted. \hypertarget{classLogicalLink_ae0219fb43bd8df9b1b1822fe86800e10}{
\index{LogicalLink@{LogicalLink}!faceid@{faceid}}
\index{faceid@{faceid}!LogicalLink@{LogicalLink}}
\subsubsection[{faceid}]{\setlength{\rightskip}{0pt plus 5cm}{\bf OlsrTypes::FaceID} LogicalLink::faceid (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_ae0219fb43bd8df9b1b1822fe86800e10}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} local interface where this link resides. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a6ebf7f8b117446b6cda0b5eddb2f8d37}{
\index{LogicalLink@{LogicalLink}!far\_\-etx@{far\_\-etx}}
\index{far\_\-etx@{far\_\-etx}!LogicalLink@{LogicalLink}}
\subsubsection[{far\_\-etx}]{\setlength{\rightskip}{0pt plus 5cm}double LogicalLink::far\_\-etx (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a6ebf7f8b117446b6cda0b5eddb2f8d37}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} far end ETX measurement. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a6a713cc2c860fd963d1642c74a086667}{
\index{LogicalLink@{LogicalLink}!id@{id}}
\index{id@{id}!LogicalLink@{LogicalLink}}
\subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}{\bf OlsrTypes::LogicalLinkID} LogicalLink::id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a6a713cc2c860fd963d1642c74a086667}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} ID of this link. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_ad419219696cbba7acaf8957bbfe8a308}{
\index{LogicalLink@{LogicalLink}!is\_\-sym@{is\_\-sym}}
\index{is\_\-sym@{is\_\-sym}!LogicalLink@{LogicalLink}}
\subsubsection[{is\_\-sym}]{\setlength{\rightskip}{0pt plus 5cm}bool LogicalLink::is\_\-sym (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_ad419219696cbba7acaf8957bbfe8a308}
\begin{DoxyReturn}{Returns}
true if this link is symmetric. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_af0aea98078a83dbf3b46cc3fb046df5b}{
\index{LogicalLink@{LogicalLink}!link\_\-type@{link\_\-type}}
\index{link\_\-type@{link\_\-type}!LogicalLink@{LogicalLink}}
\subsubsection[{link\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf OlsrTypes::LinkType} LogicalLink::link\_\-type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classLogicalLink_af0aea98078a83dbf3b46cc3fb046df5b}


Determine \hyperlink{protocolthe-p}{the} current state of \hyperlink{protocolthe-p}{the} link. 

Section 6.2, 1: HELLO \hyperlink{classMessage}{Message} Generation, Link Type.

\begin{DoxyReturn}{Returns}
The link type code representing this link's state. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_afcf62f3e16c6a58835c00dfd64b5f5ef}{
\index{LogicalLink@{LogicalLink}!local\_\-addr@{local\_\-addr}}
\index{local\_\-addr@{local\_\-addr}!LogicalLink@{LogicalLink}}
\subsubsection[{local\_\-addr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} LogicalLink::local\_\-addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_afcf62f3e16c6a58835c00dfd64b5f5ef}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} protocol address of \hyperlink{protocolthe-p}{the} local interface. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a4e281121a143323143352fb47514192c}{
\index{LogicalLink@{LogicalLink}!near\_\-etx@{near\_\-etx}}
\index{near\_\-etx@{near\_\-etx}!LogicalLink@{LogicalLink}}
\subsubsection[{near\_\-etx}]{\setlength{\rightskip}{0pt plus 5cm}double LogicalLink::near\_\-etx (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a4e281121a143323143352fb47514192c}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} near end ETX measurement. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_af3e3103f74a5a80f2b4a9e9032657a97}{
\index{LogicalLink@{LogicalLink}!neighbor\_\-id@{neighbor\_\-id}}
\index{neighbor\_\-id@{neighbor\_\-id}!LogicalLink@{LogicalLink}}
\subsubsection[{neighbor\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}{\bf OlsrTypes::NeighborID} LogicalLink::neighbor\_\-id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_af3e3103f74a5a80f2b4a9e9032657a97}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} neighbor at \hyperlink{protocolthe-p}{the} far end of this link. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a9a52395fbc11c5d802f9486bc3a76930}{
\index{LogicalLink@{LogicalLink}!pending@{pending}}
\index{pending@{pending}!LogicalLink@{LogicalLink}}
\subsubsection[{pending}]{\setlength{\rightskip}{0pt plus 5cm}bool LogicalLink::pending (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a9a52395fbc11c5d802f9486bc3a76930}


Determine if a link is pending (i.e. 

not yet established).

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} link is pending. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a25e063280aef022662e5dbc55c5e2ef9}{
\index{LogicalLink@{LogicalLink}!remote\_\-addr@{remote\_\-addr}}
\index{remote\_\-addr@{remote\_\-addr}!LogicalLink@{LogicalLink}}
\subsubsection[{remote\_\-addr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} LogicalLink::remote\_\-addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a25e063280aef022662e5dbc55c5e2ef9}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} protocol address of \hyperlink{protocolthe-p}{the} neighbor's interface. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_adf34d7a20ebe811d5025f38dbedab677}{
\index{LogicalLink@{LogicalLink}!set\_\-destination@{set\_\-destination}}
\index{set\_\-destination@{set\_\-destination}!LogicalLink@{LogicalLink}}
\subsubsection[{set\_\-destination}]{\setlength{\rightskip}{0pt plus 5cm}void LogicalLink::set\_\-destination (
\begin{DoxyParamCaption}
\item[{{\bf Neighbor} $\ast$}]{n}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_adf34d7a20ebe811d5025f38dbedab677}


Set \hyperlink{protocolthe-p}{the} cached neighbor pointer. 


\begin{DoxyParams}{Parameters}
{\em n} & \hyperlink{protocolthe-p}{the} \hyperlink{classNeighbor}{Neighbor} pointer. \\
\hline
\end{DoxyParams}
\hypertarget{classLogicalLink_ac75e772eb7540c42cb81f063e7713218}{
\index{LogicalLink@{LogicalLink}!set\_\-faceid@{set\_\-faceid}}
\index{set\_\-faceid@{set\_\-faceid}!LogicalLink@{LogicalLink}}
\subsubsection[{set\_\-faceid}]{\setlength{\rightskip}{0pt plus 5cm}void LogicalLink::set\_\-faceid (
\begin{DoxyParamCaption}
\item[{{\bf OlsrTypes::FaceID}}]{faceid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_ac75e772eb7540c42cb81f063e7713218}


Set \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} local interface where this link resides. 


\begin{DoxyParams}{Parameters}
{\em faceid} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} local interface. \\
\hline
\end{DoxyParams}
\hypertarget{classLogicalLink_a1fb3d9ada7292fc736cf240059ad58ac}{
\index{LogicalLink@{LogicalLink}!set\_\-neighbor\_\-id@{set\_\-neighbor\_\-id}}
\index{set\_\-neighbor\_\-id@{set\_\-neighbor\_\-id}!LogicalLink@{LogicalLink}}
\subsubsection[{set\_\-neighbor\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}void LogicalLink::set\_\-neighbor\_\-id (
\begin{DoxyParamCaption}
\item[{{\bf OlsrTypes::NeighborID}}]{neighborid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a1fb3d9ada7292fc736cf240059ad58ac}


Set \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} neighbor at \hyperlink{protocolthe-p}{the} far end of this link. 


\begin{DoxyParams}{Parameters}
{\em neighborid} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} neighbor. \\
\hline
\end{DoxyParams}
\hypertarget{classLogicalLink_a42dcc0627abc7dd839263da4a118f928}{
\index{LogicalLink@{LogicalLink}!sym\_\-time\_\-remaining@{sym\_\-time\_\-remaining}}
\index{sym\_\-time\_\-remaining@{sym\_\-time\_\-remaining}!LogicalLink@{LogicalLink}}
\subsubsection[{sym\_\-time\_\-remaining}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TimeVal} LogicalLink::sym\_\-time\_\-remaining (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a42dcc0627abc7dd839263da4a118f928}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} amount of time remaining until \hyperlink{protocolthe-p}{the} SYM timer fires. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a858009ff49488c11ef4a6620e6b24c16}{
\index{LogicalLink@{LogicalLink}!time\_\-remaining@{time\_\-remaining}}
\index{time\_\-remaining@{time\_\-remaining}!LogicalLink@{LogicalLink}}
\subsubsection[{time\_\-remaining}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TimeVal} LogicalLink::time\_\-remaining (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classLogicalLink_a858009ff49488c11ef4a6620e6b24c16}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} amount of time remaining until \hyperlink{protocolthe-p}{the} DEAD timer fires. 
\end{DoxyReturn}
\hypertarget{classLogicalLink_a2e1d44b1f80f8246c8b84620140a647c}{
\index{LogicalLink@{LogicalLink}!update\_\-timers@{update\_\-timers}}
\index{update\_\-timers@{update\_\-timers}!LogicalLink@{LogicalLink}}
\subsubsection[{update\_\-timers}]{\setlength{\rightskip}{0pt plus 5cm}void LogicalLink::update\_\-timers (
\begin{DoxyParamCaption}
\item[{const {\bf TimeVal} \&}]{vtime, }
\item[{bool}]{saw\_\-self = {\ttfamily false}, }
\item[{const {\bf LinkCode}}]{lc = {\ttfamily {\bf LinkCode}()}}
\end{DoxyParamCaption}
)}}
\label{classLogicalLink_a2e1d44b1f80f8246c8b84620140a647c}


Update \hyperlink{protocolthe-p}{the} link timers, based on \hyperlink{protocolthe-p}{the} information present in a HELLO message. 

Section 7.1.1, 2: HELLO \hyperlink{classMessage}{Message} Processing.


\begin{DoxyParams}{Parameters}
{\em vtime} & The validity time present in \hyperlink{protocolthe-p}{the} HELLO message. \\
\hline
{\em saw\_\-self} & true if \hyperlink{protocolthe-p}{the} neighbor advertised our own address. \\
\hline
{\em lc} & \hyperlink{protocolthe-p}{the} link code with which our address was advertised. \\
\hline
\end{DoxyParams}


\subsection{Member Data Documentation}
\hypertarget{classLogicalLink_ab3db97e5d1485161880df5136a392d59}{
\index{LogicalLink@{LogicalLink}!\_\-local\_\-addr@{\_\-local\_\-addr}}
\index{\_\-local\_\-addr@{\_\-local\_\-addr}!LogicalLink@{LogicalLink}}
\subsubsection[{\_\-local\_\-addr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} {\bf LogicalLink::\_\-local\_\-addr}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classLogicalLink_ab3db97e5d1485161880df5136a392d59}


L\_\-local\_\-iface\_\-addr protocol variable. 

The protocol address of our local interface. \hypertarget{classLogicalLink_aacfea1881de338da99497297fa8b89ad}{
\index{LogicalLink@{LogicalLink}!\_\-remote\_\-addr@{\_\-remote\_\-addr}}
\index{\_\-remote\_\-addr@{\_\-remote\_\-addr}!LogicalLink@{LogicalLink}}
\subsubsection[{\_\-remote\_\-addr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} {\bf LogicalLink::\_\-remote\_\-addr}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classLogicalLink_aacfea1881de338da99497297fa8b89ad}


L\_\-neighbor\_\-iface\_\-addr protocol variable. 

The protocol address of \hyperlink{protocolthe-p}{the} neighbor's interface. 

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