\hypertarget{classTransactionManager_1_1Transaction}{
\section{TransactionManager::Transaction Class Reference}
\label{classTransactionManager_1_1Transaction}\index{TransactionManager::Transaction@{TransactionManager::Transaction}}
}


\hyperlink{classTransactionManager_1_1Transaction}{Transaction} class, just a list of operations to be dispatched.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTransactionManager_1_1Transaction_ae21c9e2f069e33be2e1ec664f97ccb78}{
typedef list$<$ \hyperlink{classref__ptr}{Operation} $>$ {\bfseries OperationList}}
\label{classTransactionManager_1_1Transaction_ae21c9e2f069e33be2e1ec664f97ccb78}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTransactionManager_1_1Transaction_a9c6c6f868056efc0f2922a7a7a210162}{
{\bfseries Transaction} (\hyperlink{classTransactionManager}{TransactionManager} \&mgr, const \hyperlink{classXorpTimer}{XorpTimer} \&timeout\_\-timer)}
\label{classTransactionManager_1_1Transaction_a9c6c6f868056efc0f2922a7a7a210162}

\item 
\hypertarget{classTransactionManager_1_1Transaction_ad2aeb163c9956bedcb50ae33b06427f8}{
{\bfseries Transaction} (\hyperlink{classTransactionManager}{TransactionManager} \&mgr)}
\label{classTransactionManager_1_1Transaction_ad2aeb163c9956bedcb50ae33b06427f8}

\item 
\hypertarget{classTransactionManager_1_1Transaction_ac3744f03d2a8e73e8b5bed2f40605b2d}{
\hyperlink{classTransactionManager_1_1Transaction}{Transaction} \& {\bfseries operator=} (const \hyperlink{classTransactionManager_1_1Transaction}{Transaction} \&rhs)}
\label{classTransactionManager_1_1Transaction_ac3744f03d2a8e73e8b5bed2f40605b2d}

\item 
\hypertarget{classTransactionManager_1_1Transaction_a0c0e95d361405487833106156ff8b0ef}{
void \hyperlink{classTransactionManager_1_1Transaction_a0c0e95d361405487833106156ff8b0ef}{add} (const \hyperlink{classref__ptr}{Operation} \&op)}
\label{classTransactionManager_1_1Transaction_a0c0e95d361405487833106156ff8b0ef}

\begin{DoxyCompactList}\small\item\em Add an operation to list. \item\end{DoxyCompactList}\item 
\hypertarget{classTransactionManager_1_1Transaction_a7e7573523bec0a0df0ea2decb76d4fdd}{
void \hyperlink{classTransactionManager_1_1Transaction_a7e7573523bec0a0df0ea2decb76d4fdd}{commit} ()}
\label{classTransactionManager_1_1Transaction_a7e7573523bec0a0df0ea2decb76d4fdd}

\begin{DoxyCompactList}\small\item\em Dispatch all operations on list. \item\end{DoxyCompactList}\item 
\hypertarget{classTransactionManager_1_1Transaction_adb6cedf10f430663fd76d8d628a8f1bd}{
void \hyperlink{classTransactionManager_1_1Transaction_adb6cedf10f430663fd76d8d628a8f1bd}{flush} ()}
\label{classTransactionManager_1_1Transaction_adb6cedf10f430663fd76d8d628a8f1bd}

\begin{DoxyCompactList}\small\item\em Flush all operations on list. \item\end{DoxyCompactList}\item 
\hypertarget{classTransactionManager_1_1Transaction_afdad82028c2bd2870ba7033bb448c7fc}{
void \hyperlink{classTransactionManager_1_1Transaction_afdad82028c2bd2870ba7033bb448c7fc}{defer\_\-timeout} ()}
\label{classTransactionManager_1_1Transaction_afdad82028c2bd2870ba7033bb448c7fc}

\begin{DoxyCompactList}\small\item\em Defer timeout by TransactionManagers timeout interval. \item\end{DoxyCompactList}\item 
\hypertarget{classTransactionManager_1_1Transaction_ac7533ef9412fb455ce9124f10abe2e62}{
void \hyperlink{classTransactionManager_1_1Transaction_ac7533ef9412fb455ce9124f10abe2e62}{cancel\_\-timeout} ()}
\label{classTransactionManager_1_1Transaction_ac7533ef9412fb455ce9124f10abe2e62}

\begin{DoxyCompactList}\small\item\em Cancel timeout timer. \item\end{DoxyCompactList}\item 
\hypertarget{classTransactionManager_1_1Transaction_acfe3c9860058f71081d58f92abd9f70e}{
OperationList \& \hyperlink{classTransactionManager_1_1Transaction_acfe3c9860058f71081d58f92abd9f70e}{operations} ()}
\label{classTransactionManager_1_1Transaction_acfe3c9860058f71081d58f92abd9f70e}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} list of operations. \item\end{DoxyCompactList}\item 
uint32\_\-t \hyperlink{classTransactionManager_1_1Transaction_a35e42841a06e27e96ac61d8d2567902f}{size} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} length of \hyperlink{protocolthe-p}{the} operations list. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTransactionManager_1_1Transaction_a0a4ae9205c4d595e2a0bfcb59c5e2b07}{
\hyperlink{classTransactionManager}{TransactionManager} $\ast$ {\bfseries \_\-mgr}}
\label{classTransactionManager_1_1Transaction_a0a4ae9205c4d595e2a0bfcb59c5e2b07}

\item 
\hypertarget{classTransactionManager_1_1Transaction_a5f92bd428eec3c36ef44b3eeee7a5577}{
OperationList {\bfseries \_\-ops}}
\label{classTransactionManager_1_1Transaction_a5f92bd428eec3c36ef44b3eeee7a5577}

\item 
\hypertarget{classTransactionManager_1_1Transaction_ad6cdde248554558ad204d2baf7e2b328}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-timeout\_\-timer}}
\label{classTransactionManager_1_1Transaction_ad6cdde248554558ad204d2baf7e2b328}

\item 
\hypertarget{classTransactionManager_1_1Transaction_a2e4f3e9a58c785bc49649d6758fd1754}{
uint32\_\-t {\bfseries \_\-op\_\-count}}
\label{classTransactionManager_1_1Transaction_a2e4f3e9a58c785bc49649d6758fd1754}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{classTransactionManager_1_1Transaction}{Transaction} class, just a list of operations to be dispatched. It is defined here so classes derived from \hyperlink{classTransactionManager}{TransactionManager} can operate, eg sort operations in list, before committing transaction. 

\subsection{Member Function Documentation}
\hypertarget{classTransactionManager_1_1Transaction_a35e42841a06e27e96ac61d8d2567902f}{
\index{TransactionManager::Transaction@{TransactionManager::Transaction}!size@{size}}
\index{size@{size}!TransactionManager::Transaction@{TransactionManager::Transaction}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t TransactionManager::Transaction::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classTransactionManager_1_1Transaction_a35e42841a06e27e96ac61d8d2567902f}


Get \hyperlink{protocolthe-p}{the} length of \hyperlink{protocolthe-p}{the} operations list. 



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