\hypertarget{classXrlFeaNode}{
\section{XrlFeaNode Class Reference}
\label{classXrlFeaNode}\index{XrlFeaNode@{XrlFeaNode}}
}


FEA (Forwarding Engine Abstraction) node class with XRL front-\/end.  




{\ttfamily \#include $<$xrl\_\-fea\_\-node.hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classXrlFeaNode_a620a86e99c502ed46a5b1ac2eb59d98f}{XrlFeaNode} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, const string \&xrl\_\-fea\_\-targetname, const string \&xrl\_\-finder\_\-targetname, const string \&finder\_\-hostname, uint16\_\-t finder\_\-port, bool is\_\-dummy)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFeaNode_a0bfba5ac49afe95b3f8cb062f55e4b44}{
virtual \hyperlink{classXrlFeaNode_a0bfba5ac49afe95b3f8cb062f55e4b44}{$\sim$XrlFeaNode} ()}
\label{classXrlFeaNode_a0bfba5ac49afe95b3f8cb062f55e4b44}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFeaNode_a0f020eedff841397f5323910ea14caca}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} service operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFeaNode_a2514091f695536cc78b643b244d60e9f}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} service operation. \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlFeaNode_ab5fc32a66d077b3cbc60c78e76a62cce}{is\_\-running} () const 
\begin{DoxyCompactList}\small\item\em Test whether \hyperlink{protocolthe-p}{the} service is running. \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlFeaNode_ad1c702064ba640ce943863fc5855ecbc}{is\_\-shutdown\_\-received} () const 
\begin{DoxyCompactList}\small\item\em Test whether a shutdown XRL request has been received. \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classXrlFeaNode_afbc82c6533dde2060d9663adaa470c49}{eventloop} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} event loop this service is added to. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlStdRouter}{XrlStdRouter} \& \hyperlink{classXrlFeaNode_aea807aa748bde7cb4b4dbc3b6bc18ceb}{xrl\_\-router} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} XRL transmission and reception point. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlFeaIo}{XrlFeaIo} \& \hyperlink{classXrlFeaNode_a650c0de0e7a14edce9978df37b96ddbd}{xrl\_\-fea\_\-io} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} FEA I/O XRL instance. \item\end{DoxyCompactList}\item 
\hyperlink{classFeaNode}{FeaNode} \& \hyperlink{classXrlFeaNode_a09c4edc3cde982807583a6b37d73c6a7}{fea\_\-node} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} FEA node instance. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlFeaTarget}{XrlFeaTarget} \& \hyperlink{classXrlFeaNode_aedcba343369792f8ca4a52be3c39a759}{xrl\_\-fea\_\-target} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} FEA XRL target. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classXrlFeaNode_a460da923e05a1ca0406259588884ec95}{xrl\_\-finder\_\-targetname} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Finder's XRL target name. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFeaNode_ad2416cb5565e378e4dcc33387dfab4ba}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classXrlFeaNode_ad2416cb5565e378e4dcc33387dfab4ba}

\item 
\hypertarget{classXrlFeaNode_a417ed0fe3a96187eb527cdd45a074d2c}{
\hyperlink{classXrlStdRouter}{XrlStdRouter} {\bfseries \_\-xrl\_\-router}}
\label{classXrlFeaNode_a417ed0fe3a96187eb527cdd45a074d2c}

\item 
\hypertarget{classXrlFeaNode_ab851c39183ccf0c20b1879647fc840db}{
\hyperlink{classXrlFeaIo}{XrlFeaIo} {\bfseries \_\-xrl\_\-fea\_\-io}}
\label{classXrlFeaNode_ab851c39183ccf0c20b1879647fc840db}

\item 
\hypertarget{classXrlFeaNode_aede73122a982dee64561b5b6fe99fa73}{
\hyperlink{classFeaNode}{FeaNode} {\bfseries \_\-fea\_\-node}}
\label{classXrlFeaNode_aede73122a982dee64561b5b6fe99fa73}

\item 
\hypertarget{classXrlFeaNode_ac0ebe90b1d14f06b0e7f83462f558b96}{
\hyperlink{classLibFeaClientBridge}{LibFeaClientBridge} {\bfseries \_\-lib\_\-fea\_\-client\_\-bridge}}
\label{classXrlFeaNode_ac0ebe90b1d14f06b0e7f83462f558b96}

\item 
\hypertarget{classXrlFeaNode_a026fb276131a3986cca058e75e924945}{
\hyperlink{classXrlFibClientManager}{XrlFibClientManager} {\bfseries \_\-xrl\_\-fib\_\-client\_\-manager}}
\label{classXrlFeaNode_a026fb276131a3986cca058e75e924945}

\item 
\hypertarget{classXrlFeaNode_a550ebc3ee2b8eb631b80bb9118c5220e}{
\hyperlink{classXrlIoLinkManager}{XrlIoLinkManager} {\bfseries \_\-xrl\_\-io\_\-link\_\-manager}}
\label{classXrlFeaNode_a550ebc3ee2b8eb631b80bb9118c5220e}

\item 
\hypertarget{classXrlFeaNode_a91f248d04f456b0edab0f8ebc9a20144}{
\hyperlink{classXrlIoIpManager}{XrlIoIpManager} {\bfseries \_\-xrl\_\-io\_\-ip\_\-manager}}
\label{classXrlFeaNode_a91f248d04f456b0edab0f8ebc9a20144}

\item 
\hypertarget{classXrlFeaNode_a05cdf2a098d60e4b3a84091694df244f}{
\hyperlink{classXrlIoTcpUdpManager}{XrlIoTcpUdpManager} {\bfseries \_\-xrl\_\-io\_\-tcpudp\_\-manager}}
\label{classXrlFeaNode_a05cdf2a098d60e4b3a84091694df244f}

\item 
\hypertarget{classXrlFeaNode_aa17445dc3009d25edc94be675d23ce19}{
\hyperlink{classCliNode}{CliNode} {\bfseries \_\-cli\_\-node4}}
\label{classXrlFeaNode_aa17445dc3009d25edc94be675d23ce19}

\item 
\hypertarget{classXrlFeaNode_a5afee27eb3e6703cbcd660fdc2cf4eb4}{
\hyperlink{classXrlCliNode}{XrlCliNode} {\bfseries \_\-xrl\_\-cli\_\-node}}
\label{classXrlFeaNode_a5afee27eb3e6703cbcd660fdc2cf4eb4}

\item 
\hypertarget{classXrlFeaNode_afc0aff21988978c8fec28b2d5c72fb19}{
\hyperlink{classXrlMfeaNode}{XrlMfeaNode} {\bfseries \_\-xrl\_\-mfea\_\-node4}}
\label{classXrlFeaNode_afc0aff21988978c8fec28b2d5c72fb19}

\item 
\hypertarget{classXrlFeaNode_aace4ad3aee1571c492298e7587b461ba}{
\hyperlink{classXrlFeaTarget}{XrlFeaTarget} {\bfseries \_\-xrl\_\-fea\_\-target}}
\label{classXrlFeaNode_aace4ad3aee1571c492298e7587b461ba}

\item 
\hypertarget{classXrlFeaNode_ab4e220785c60d6abeb38a495faefa3b8}{
const string {\bfseries \_\-xrl\_\-finder\_\-targetname}}
\label{classXrlFeaNode_ab4e220785c60d6abeb38a495faefa3b8}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
FEA (Forwarding Engine Abstraction) node class with XRL front-\/end. There should be one node per FEA instance. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classXrlFeaNode_a620a86e99c502ed46a5b1ac2eb59d98f}{
\index{XrlFeaNode@{XrlFeaNode}!XrlFeaNode@{XrlFeaNode}}
\index{XrlFeaNode@{XrlFeaNode}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{XrlFeaNode}]{\setlength{\rightskip}{0pt plus 5cm}XrlFeaNode::XrlFeaNode (
\begin{DoxyParamCaption}
\item[{{\bf EventLoop} \&}]{eventloop, }
\item[{const string \&}]{xrl\_\-fea\_\-targetname, }
\item[{const string \&}]{xrl\_\-finder\_\-targetname, }
\item[{const string \&}]{finder\_\-hostname, }
\item[{uint16\_\-t}]{finder\_\-port, }
\item[{bool}]{is\_\-dummy}
\end{DoxyParamCaption}
)}}
\label{classXrlFeaNode_a620a86e99c502ed46a5b1ac2eb59d98f}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em eventloop} & \hyperlink{protocolthe-p}{the} event loop to use. \\
\hline
{\em xrl\_\-fea\_\-targetname} & \hyperlink{protocolthe-p}{the} XRL targetname of \hyperlink{protocolthe-p}{the} FEA. \\
\hline
{\em xrl\_\-finder\_\-targetname} & \hyperlink{protocolthe-p}{the} XRL targetname of \hyperlink{protocolthe-p}{the} \hyperlink{classFinder}{Finder}. \\
\hline
{\em finder\_\-hostname} & \hyperlink{protocolthe-p}{the} XRL \hyperlink{classFinder}{Finder} hostname. \\
\hline
{\em finder\_\-port} & \hyperlink{protocolthe-p}{the} XRL \hyperlink{classFinder}{Finder} port. \\
\hline
{\em is\_\-dummy} & if true, then run \hyperlink{protocolthe-p}{the} FEA in dummy mode. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classXrlFeaNode_afbc82c6533dde2060d9663adaa470c49}{
\index{XrlFeaNode@{XrlFeaNode}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop}\& XrlFeaNode::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_afbc82c6533dde2060d9663adaa470c49}


Get \hyperlink{protocolthe-p}{the} event loop this service is added to. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} event loop this service is added to. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_a09c4edc3cde982807583a6b37d73c6a7}{
\index{XrlFeaNode@{XrlFeaNode}!fea\_\-node@{fea\_\-node}}
\index{fea\_\-node@{fea\_\-node}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{fea\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FeaNode}\& XrlFeaNode::fea\_\-node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_a09c4edc3cde982807583a6b37d73c6a7}


Get \hyperlink{protocolthe-p}{the} FEA node instance. 

\begin{DoxyReturn}{Returns}
reference to \hyperlink{protocolthe-p}{the} FEA node instance. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_ab5fc32a66d077b3cbc60c78e76a62cce}{
\index{XrlFeaNode@{XrlFeaNode}!is\_\-running@{is\_\-running}}
\index{is\_\-running@{is\_\-running}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{is\_\-running}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlFeaNode::is\_\-running (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlFeaNode_ab5fc32a66d077b3cbc60c78e76a62cce}


Test whether \hyperlink{protocolthe-p}{the} service is running. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} service is still running, otherwise false. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_ad1c702064ba640ce943863fc5855ecbc}{
\index{XrlFeaNode@{XrlFeaNode}!is\_\-shutdown\_\-received@{is\_\-shutdown\_\-received}}
\index{is\_\-shutdown\_\-received@{is\_\-shutdown\_\-received}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{is\_\-shutdown\_\-received}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlFeaNode::is\_\-shutdown\_\-received (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlFeaNode_ad1c702064ba640ce943863fc5855ecbc}


Test whether a shutdown XRL request has been received. 

\begin{DoxyReturn}{Returns}
true if shutdown XRL request has been received, otherwise false. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_a2514091f695536cc78b643b244d60e9f}{
\index{XrlFeaNode@{XrlFeaNode}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFeaNode::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classXrlFeaNode_a2514091f695536cc78b643b244d60e9f}


\hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} service operation. 

Gracefully shutdown \hyperlink{protocolthe-p}{the} FEA.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_a0f020eedff841397f5323910ea14caca}{
\index{XrlFeaNode@{XrlFeaNode}!startup@{startup}}
\index{startup@{startup}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFeaNode::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classXrlFeaNode_a0f020eedff841397f5323910ea14caca}


\hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} service operation. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_a650c0de0e7a14edce9978df37b96ddbd}{
\index{XrlFeaNode@{XrlFeaNode}!xrl\_\-fea\_\-io@{xrl\_\-fea\_\-io}}
\index{xrl\_\-fea\_\-io@{xrl\_\-fea\_\-io}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{xrl\_\-fea\_\-io}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlFeaIo}\& XrlFeaNode::xrl\_\-fea\_\-io (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_a650c0de0e7a14edce9978df37b96ddbd}


Get \hyperlink{protocolthe-p}{the} FEA I/O XRL instance. 

\begin{DoxyReturn}{Returns}
reference to \hyperlink{protocolthe-p}{the} FEA I/O XRL instance. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_aedcba343369792f8ca4a52be3c39a759}{
\index{XrlFeaNode@{XrlFeaNode}!xrl\_\-fea\_\-target@{xrl\_\-fea\_\-target}}
\index{xrl\_\-fea\_\-target@{xrl\_\-fea\_\-target}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{xrl\_\-fea\_\-target}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlFeaTarget}\& XrlFeaNode::xrl\_\-fea\_\-target (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_aedcba343369792f8ca4a52be3c39a759}


Get \hyperlink{protocolthe-p}{the} FEA XRL target. 

\begin{DoxyReturn}{Returns}
reference to \hyperlink{protocolthe-p}{the} FEA XRL target. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_a460da923e05a1ca0406259588884ec95}{
\index{XrlFeaNode@{XrlFeaNode}!xrl\_\-finder\_\-targetname@{xrl\_\-finder\_\-targetname}}
\index{xrl\_\-finder\_\-targetname@{xrl\_\-finder\_\-targetname}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{xrl\_\-finder\_\-targetname}]{\setlength{\rightskip}{0pt plus 5cm}const string\& XrlFeaNode::xrl\_\-finder\_\-targetname (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_a460da923e05a1ca0406259588884ec95}


Get \hyperlink{protocolthe-p}{the} Finder's XRL target name. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} Finder's XRL target name. 
\end{DoxyReturn}
\hypertarget{classXrlFeaNode_aea807aa748bde7cb4b4dbc3b6bc18ceb}{
\index{XrlFeaNode@{XrlFeaNode}!xrl\_\-router@{xrl\_\-router}}
\index{xrl\_\-router@{xrl\_\-router}!XrlFeaNode@{XrlFeaNode}}
\subsubsection[{xrl\_\-router}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlStdRouter}\& XrlFeaNode::xrl\_\-router (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFeaNode_aea807aa748bde7cb4b4dbc3b6bc18ceb}


Get \hyperlink{protocolthe-p}{the} XRL transmission and reception point. 

\begin{DoxyReturn}{Returns}
reference to \hyperlink{protocolthe-p}{the} XRL transmission and reception point. 
\end{DoxyReturn}


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