\hypertarget{classFibConfigTransactionManager}{
\section{FibConfigTransactionManager Class Reference}
\label{classFibConfigTransactionManager}\index{FibConfigTransactionManager@{FibConfigTransactionManager}}
}


Class to store and execute \hyperlink{classFibConfig}{FibConfig} transactions.  




{\ttfamily \#include $<$fibconfig\_\-transaction.hh$>$}

Inheritance diagram for FibConfigTransactionManager:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classFibConfigTransactionManager}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classFibConfigTransactionManager_a4ac5f457198b99bb7ebb5b1773cfc759}{FibConfigTransactionManager} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, \hyperlink{classFibConfig}{FibConfig} \&fibconfig)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfig}{FibConfig} \& \hyperlink{classFibConfigTransactionManager_a836ded9acefcedd7ca4d2e844f02ee45}{fibconfig} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig}. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classFibConfigTransactionManager_a0a3c6a5a29da626c142c8e409a8e6c19}{error} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit. \item\end{DoxyCompactList}\item 
size\_\-t \hyperlink{classFibConfigTransactionManager_a7236690e7665eb99cf0d0fadb92cda4a}{max\_\-ops} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} maximum number of operations. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classFibConfigTransactionManager_a424dd7689a179695b9ec0912d8d68171}{pre\_\-commit} (uint32\_\-t tid)
\begin{DoxyCompactList}\small\item\em Pre-\/commit method that is called before \hyperlink{protocolthe-p}{the} first operation in a commit. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFibConfigTransactionManager_a211c1e586a6a809af996efd9647ad98d}{post\_\-commit} (uint32\_\-t tid)
\begin{DoxyCompactList}\small\item\em Post-\/commit method that is called after \hyperlink{protocolthe-p}{the} last operation in a commit. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFibConfigTransactionManager_a3908609245b4ea633c00e9364a0ef422}{operation\_\-result} (bool success, const \hyperlink{classTransactionOperation}{TransactionOperation} \&op)
\begin{DoxyCompactList}\small\item\em Method that is called after each operation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries TIMEOUT\_\-MS} =  5000, 
{\bfseries MAX\_\-PENDING} =  10, 
{\bfseries MAX\_\-OPS} =  200
 \}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classFibConfigTransactionManager_a65519d8a327aad088133571bd15eccc6}{set\_\-error} (const string \&error)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} error. \item\end{DoxyCompactList}\item 
\hypertarget{classFibConfigTransactionManager_a7a2963dae3881e1655f62f4c4bb8b6a3}{
void \hyperlink{classFibConfigTransactionManager_a7a2963dae3881e1655f62f4c4bb8b6a3}{reset\_\-error} ()}
\label{classFibConfigTransactionManager_a7a2963dae3881e1655f62f4c4bb8b6a3}

\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} error. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFibConfigTransactionManager_aab543b6a302603e59d99d06ac6ef4829}{
\hyperlink{classFibConfig}{FibConfig} \& {\bfseries \_\-fibconfig}}
\label{classFibConfigTransactionManager_aab543b6a302603e59d99d06ac6ef4829}

\item 
\hypertarget{classFibConfigTransactionManager_aebba0ced532ba88a896fa092a98b4402}{
string {\bfseries \_\-first\_\-error}}
\label{classFibConfigTransactionManager_aebba0ced532ba88a896fa092a98b4402}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class to store and execute \hyperlink{classFibConfig}{FibConfig} transactions. An \hyperlink{classFibConfig}{FibConfig} transaction is a sequence of commands that should executed atomically. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classFibConfigTransactionManager_a4ac5f457198b99bb7ebb5b1773cfc759}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{FibConfigTransactionManager}]{\setlength{\rightskip}{0pt plus 5cm}FibConfigTransactionManager::FibConfigTransactionManager (
\begin{DoxyParamCaption}
\item[{{\bf EventLoop} \&}]{eventloop, }
\item[{{\bf FibConfig} \&}]{fibconfig}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFibConfigTransactionManager_a4ac5f457198b99bb7ebb5b1773cfc759}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em eventloop} & \hyperlink{protocolthe-p}{the} event loop to use. \\
\hline
{\em fibconfig} & \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} to use. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{classFibConfig}{FibConfig}. 
\end{DoxySeeAlso}


\subsection{Member Function Documentation}
\hypertarget{classFibConfigTransactionManager_a0a3c6a5a29da626c142c8e409a8e6c19}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!error@{error}}
\index{error@{error}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{error}]{\setlength{\rightskip}{0pt plus 5cm}const string\& FibConfigTransactionManager::error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFibConfigTransactionManager_a0a3c6a5a29da626c142c8e409a8e6c19}


Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit or an empty string if no error. 
\end{DoxyReturn}
\hypertarget{classFibConfigTransactionManager_a836ded9acefcedd7ca4d2e844f02ee45}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!fibconfig@{fibconfig}}
\index{fibconfig@{fibconfig}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{fibconfig}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfig}\& FibConfigTransactionManager::fibconfig (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFibConfigTransactionManager_a836ded9acefcedd7ca4d2e844f02ee45}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig}. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig}. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classFibConfig}{FibConfig}. 
\end{DoxySeeAlso}
\hypertarget{classFibConfigTransactionManager_a7236690e7665eb99cf0d0fadb92cda4a}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!max\_\-ops@{max\_\-ops}}
\index{max\_\-ops@{max\_\-ops}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{max\_\-ops}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t FibConfigTransactionManager::max\_\-ops (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFibConfigTransactionManager_a7236690e7665eb99cf0d0fadb92cda4a}


Get \hyperlink{protocolthe-p}{the} maximum number of operations. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} maximum number of operations. 
\end{DoxyReturn}
\hypertarget{classFibConfigTransactionManager_a3908609245b4ea633c00e9364a0ef422}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!operation\_\-result@{operation\_\-result}}
\index{operation\_\-result@{operation\_\-result}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{operation\_\-result}]{\setlength{\rightskip}{0pt plus 5cm}void FibConfigTransactionManager::operation\_\-result (
\begin{DoxyParamCaption}
\item[{bool}]{success, }
\item[{const {\bf TransactionOperation} \&}]{op}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFibConfigTransactionManager_a3908609245b4ea633c00e9364a0ef422}


Method that is called after each operation. 

This is an overriding method.


\begin{DoxyParams}{Parameters}
{\em success} & set to true if \hyperlink{protocolthe-p}{the} operation succeeded, otherwise false. \\
\hline
{\em op} & \hyperlink{protocolthe-p}{the} operation that has been just called. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classTransactionManager_aedae741412cf8c92f0da9b46e378dc34}{TransactionManager}.

\hypertarget{classFibConfigTransactionManager_a211c1e586a6a809af996efd9647ad98d}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!post\_\-commit@{post\_\-commit}}
\index{post\_\-commit@{post\_\-commit}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{post\_\-commit}]{\setlength{\rightskip}{0pt plus 5cm}void FibConfigTransactionManager::post\_\-commit (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFibConfigTransactionManager_a211c1e586a6a809af996efd9647ad98d}


Post-\/commit method that is called after \hyperlink{protocolthe-p}{the} last operation in a commit. 

This is an overriding method.


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classTransactionManager_a39f7981f4211fa1bdcb568b7a37cf319}{TransactionManager}.

\hypertarget{classFibConfigTransactionManager_a424dd7689a179695b9ec0912d8d68171}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!pre\_\-commit@{pre\_\-commit}}
\index{pre\_\-commit@{pre\_\-commit}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{pre\_\-commit}]{\setlength{\rightskip}{0pt plus 5cm}void FibConfigTransactionManager::pre\_\-commit (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFibConfigTransactionManager_a424dd7689a179695b9ec0912d8d68171}


Pre-\/commit method that is called before \hyperlink{protocolthe-p}{the} first operation in a commit. 

This is an overriding method.


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classTransactionManager_ad7f9e60f752550fffc693cbba51b097e}{TransactionManager}.

\hypertarget{classFibConfigTransactionManager_a65519d8a327aad088133571bd15eccc6}{
\index{FibConfigTransactionManager@{FibConfigTransactionManager}!set\_\-error@{set\_\-error}}
\index{set\_\-error@{set\_\-error}!FibConfigTransactionManager@{FibConfigTransactionManager}}
\subsubsection[{set\_\-error}]{\setlength{\rightskip}{0pt plus 5cm}int FibConfigTransactionManager::set\_\-error (
\begin{DoxyParamCaption}
\item[{const string \&}]{error}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classFibConfigTransactionManager_a65519d8a327aad088133571bd15eccc6}


Set \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} error. 

Only \hyperlink{protocolthe-p}{the} string for \hyperlink{protocolthe-p}{the} first error is recorded.


\begin{DoxyParams}{Parameters}
{\em error} & \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} error. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK if this was \hyperlink{protocolthe-p}{the} first error, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


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