\hypertarget{classXrlProcessSpy}{
\section{XrlProcessSpy Class Reference}
\label{classXrlProcessSpy}\index{XrlProcessSpy@{XrlProcessSpy}}
}


Class that watches remote FEA and \hyperlink{classRIB}{RIB} processes.  




{\ttfamily \#include $<$xrl\_\-process\_\-spy.hh$>$}

Inheritance diagram for XrlProcessSpy:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classXrlProcessSpy}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlProcessSpy_a654fa7e8a61eba76ae94b1fcc747fbb1}{
{\bfseries XrlProcessSpy} (\hyperlink{classXrlRouter}{XrlRouter} \&rtr)}
\label{classXrlProcessSpy_a654fa7e8a61eba76ae94b1fcc747fbb1}

\item 
int \hyperlink{classXrlProcessSpy_aab0889523823ffd909f171d95870acf7}{startup} ()
\begin{DoxyCompactList}\small\item\em Register interest in FEA and \hyperlink{classRIB}{RIB} with \hyperlink{classFinder}{Finder}. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlProcessSpy_a7cd0f6bf986e8fe7e518a9c42bf9ddf4}{shutdown} ()
\begin{DoxyCompactList}\small\item\em Deregister interest in FEA and \hyperlink{classRIB}{RIB} with \hyperlink{classFinder}{Finder}. \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlProcessSpy_af217fb7efe95266449bb468b3504e611}{fea\_\-present} () const 
\begin{DoxyCompactList}\small\item\em Get indication of whether FEA is present. \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlProcessSpy_a987215f5c17e6d26cc33bd6a1fb968e3}{rib\_\-present} () const 
\begin{DoxyCompactList}\small\item\em Get indication of whether \hyperlink{classRIB}{RIB} is present. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlProcessSpy_a549e0ab9b001067dbf65636f83b44c9e}{birth\_\-event} (const string \&class\_\-name, const string \&instance\_\-name)
\begin{DoxyCompactList}\small\item\em Inform instance about \hyperlink{protocolthe-p}{the} birth of an \hyperlink{classXrl}{Xrl} Target instance within a class. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlProcessSpy_a4383ff62f1f60a920b46809ea11c9c66}{death\_\-event} (const string \&class\_\-name, const string \&instance\_\-name)
\begin{DoxyCompactList}\small\item\em Inform instance about \hyperlink{protocolthe-p}{the} death of a \hyperlink{classXrl}{Xrl} Target instance within a class. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlProcessSpy_a19f02e23b4e5747d083543204e9dd8b0}{
void {\bfseries send\_\-register} (uint32\_\-t idx)}
\label{classXrlProcessSpy_a19f02e23b4e5747d083543204e9dd8b0}

\item 
\hypertarget{classXrlProcessSpy_a4c40d79033bc569e1940286bb93bfdb5}{
void {\bfseries register\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&e, uint32\_\-t idx)}
\label{classXrlProcessSpy_a4c40d79033bc569e1940286bb93bfdb5}

\item 
\hypertarget{classXrlProcessSpy_a14f4d5506c9b0a2df2aea37ed06be784}{
void {\bfseries schedule\_\-register\_\-retry} (uint32\_\-t idx)}
\label{classXrlProcessSpy_a14f4d5506c9b0a2df2aea37ed06be784}

\item 
\hypertarget{classXrlProcessSpy_a58c776c73e6f661ea3fa99e793ffd200}{
void {\bfseries send\_\-deregister} (uint32\_\-t idx)}
\label{classXrlProcessSpy_a58c776c73e6f661ea3fa99e793ffd200}

\item 
\hypertarget{classXrlProcessSpy_a49a5249dfdfac867cf606f92401188ea}{
void {\bfseries deregister\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&e, uint32\_\-t idx)}
\label{classXrlProcessSpy_a49a5249dfdfac867cf606f92401188ea}

\item 
\hypertarget{classXrlProcessSpy_a492b418ead75c4f17518938b9592d9e4}{
void {\bfseries schedule\_\-deregister\_\-retry} (uint32\_\-t idx)}
\label{classXrlProcessSpy_a492b418ead75c4f17518938b9592d9e4}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlProcessSpy_a0c18f8521f3d1d02f791437527774a77}{
\hyperlink{classXrlRouter}{XrlRouter} \& {\bfseries \_\-rtr}}
\label{classXrlProcessSpy_a0c18f8521f3d1d02f791437527774a77}

\item 
\hypertarget{classXrlProcessSpy_a84c6ec9b7f21d1997976eaa0578a5fed}{
string {\bfseries \_\-cname} \mbox{[}END\_\-IDX\mbox{]}}
\label{classXrlProcessSpy_a84c6ec9b7f21d1997976eaa0578a5fed}

\item 
\hypertarget{classXrlProcessSpy_a02f495c852f52b611b6cbd6c54b2696c}{
string {\bfseries \_\-iname} \mbox{[}END\_\-IDX\mbox{]}}
\label{classXrlProcessSpy_a02f495c852f52b611b6cbd6c54b2696c}

\item 
\hypertarget{classXrlProcessSpy_a92b9330e36f55ba9eddc6842c7681bd7}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-retry}}
\label{classXrlProcessSpy_a92b9330e36f55ba9eddc6842c7681bd7}

\end{DoxyCompactItemize}
\subsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlProcessSpy_ad2a68df2bcd44c0333a9e21de4867de7}{
static const uint32\_\-t {\bfseries FEA\_\-IDX} = 0}
\label{classXrlProcessSpy_ad2a68df2bcd44c0333a9e21de4867de7}

\item 
\hypertarget{classXrlProcessSpy_ad05d0475c4f03c892d147ca9b6da6767}{
static const uint32\_\-t {\bfseries RIB\_\-IDX} = 1}
\label{classXrlProcessSpy_ad05d0475c4f03c892d147ca9b6da6767}

\item 
\hypertarget{classXrlProcessSpy_a8547dac3957434ad6b428786860f39a6}{
static const uint32\_\-t {\bfseries END\_\-IDX} = 2}
\label{classXrlProcessSpy_a8547dac3957434ad6b428786860f39a6}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class that watches remote FEA and \hyperlink{classRIB}{RIB} processes. This class registers interest with \hyperlink{protocolthe-p}{the} \hyperlink{classFinder}{Finder} in \hyperlink{protocolthe-p}{the} FEA and \hyperlink{classRIB}{RIB} processes and reports whether \hyperlink{protocolthe-p}{the} FEA and \hyperlink{classRIB}{RIB} are running to interested parties. 

\subsection{Member Function Documentation}
\hypertarget{classXrlProcessSpy_a549e0ab9b001067dbf65636f83b44c9e}{
\index{XrlProcessSpy@{XrlProcessSpy}!birth\_\-event@{birth\_\-event}}
\index{birth\_\-event@{birth\_\-event}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{birth\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlProcessSpy::birth\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{class\_\-name, }
\item[{const string \&}]{instance\_\-name}
\end{DoxyParamCaption}
)}}
\label{classXrlProcessSpy_a549e0ab9b001067dbf65636f83b44c9e}


Inform instance about \hyperlink{protocolthe-p}{the} birth of an \hyperlink{classXrl}{Xrl} Target instance within a class. 

Typically called by associated \hyperlink{classXrl}{Xrl} Target of running RIP.


\begin{DoxyParams}{Parameters}
{\em class\_\-name} & class of new born \hyperlink{classXrl}{Xrl} Target. \\
\hline
{\em instance\_\-name} & instance name of new born \hyperlink{classXrl}{Xrl} Target. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlProcessSpy_a4383ff62f1f60a920b46809ea11c9c66}{
\index{XrlProcessSpy@{XrlProcessSpy}!death\_\-event@{death\_\-event}}
\index{death\_\-event@{death\_\-event}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{death\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlProcessSpy::death\_\-event (
\begin{DoxyParamCaption}
\item[{const string \&}]{class\_\-name, }
\item[{const string \&}]{instance\_\-name}
\end{DoxyParamCaption}
)}}
\label{classXrlProcessSpy_a4383ff62f1f60a920b46809ea11c9c66}


Inform instance about \hyperlink{protocolthe-p}{the} death of a \hyperlink{classXrl}{Xrl} Target instance within a class. 

Typically called by associated \hyperlink{classXrl}{Xrl} Target of running RIP.


\begin{DoxyParams}{Parameters}
{\em class\_\-name} & class of recently deceased \hyperlink{classXrl}{Xrl} Target. \\
\hline
{\em instance\_\-name} & instance name of recently deceased \hyperlink{classXrl}{Xrl} Target. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlProcessSpy_af217fb7efe95266449bb468b3504e611}{
\index{XrlProcessSpy@{XrlProcessSpy}!fea\_\-present@{fea\_\-present}}
\index{fea\_\-present@{fea\_\-present}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{fea\_\-present}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlProcessSpy::fea\_\-present (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlProcessSpy_af217fb7efe95266449bb468b3504e611}


Get indication of whether FEA is present. 

\begin{DoxyReturn}{Returns}
true if FEA is present, false if FEA is not present or run\_\-status() is not in SERVICE\_\-RUNNING state. 
\end{DoxyReturn}
\hypertarget{classXrlProcessSpy_a987215f5c17e6d26cc33bd6a1fb968e3}{
\index{XrlProcessSpy@{XrlProcessSpy}!rib\_\-present@{rib\_\-present}}
\index{rib\_\-present@{rib\_\-present}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{rib\_\-present}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlProcessSpy::rib\_\-present (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlProcessSpy_a987215f5c17e6d26cc33bd6a1fb968e3}


Get indication of whether \hyperlink{classRIB}{RIB} is present. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{classRIB}{RIB} is present, false if \hyperlink{classRIB}{RIB} is not present or run\_\-status() is not in SERVICE\_\-RUNNING state. 
\end{DoxyReturn}
\hypertarget{classXrlProcessSpy_a7cd0f6bf986e8fe7e518a9c42bf9ddf4}{
\index{XrlProcessSpy@{XrlProcessSpy}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int XrlProcessSpy::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlProcessSpy_a7cd0f6bf986e8fe7e518a9c42bf9ddf4}


Deregister interest in FEA and \hyperlink{classRIB}{RIB} with \hyperlink{classFinder}{Finder}. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classServiceBase_a6ad34506fd5a446d5667abcb2e1b593b}{ServiceBase}.

\hypertarget{classXrlProcessSpy_aab0889523823ffd909f171d95870acf7}{
\index{XrlProcessSpy@{XrlProcessSpy}!startup@{startup}}
\index{startup@{startup}!XrlProcessSpy@{XrlProcessSpy}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int XrlProcessSpy::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlProcessSpy_aab0889523823ffd909f171d95870acf7}


Register interest in FEA and \hyperlink{classRIB}{RIB} with \hyperlink{classFinder}{Finder}. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classServiceBase_a791755872b2056ddd82a2f00904c7d2b}{ServiceBase}.



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