\hypertarget{classDamping}{
\section{Damping Class Reference}
\label{classDamping}\index{Damping@{Damping}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDamping_a7e5e3fbdee5048744656252fa9260d3b}{
{\bfseries Damping} (\hyperlink{classEventLoop}{EventLoop} \&eventloop)}
\label{classDamping_a7e5e3fbdee5048744656252fa9260d3b}

\item 
\hypertarget{classDamping_a239de3a3f0784a87d54b73372e706f7d}{
void {\bfseries set\_\-damping} (bool damping)}
\label{classDamping_a239de3a3f0784a87d54b73372e706f7d}

\item 
\hypertarget{classDamping_a5579a7b9e1dfecb54f7c9378bd14a501}{
bool {\bfseries get\_\-damping} () const }
\label{classDamping_a5579a7b9e1dfecb54f7c9378bd14a501}

\item 
\hypertarget{classDamping_a3afa884598b80cb21f132df70da832b9}{
void {\bfseries set\_\-half\_\-life} (uint32\_\-t half\_\-life)}
\label{classDamping_a3afa884598b80cb21f132df70da832b9}

\item 
\hypertarget{classDamping_ab5d18c7a69dea689b2f91aa19ca9bdeb}{
void {\bfseries set\_\-max\_\-hold\_\-down} (uint32\_\-t max\_\-hold\_\-down)}
\label{classDamping_ab5d18c7a69dea689b2f91aa19ca9bdeb}

\item 
\hypertarget{classDamping_a0f1f36a7a942b241d27ad87191473741}{
void {\bfseries set\_\-reuse} (uint32\_\-t reuse)}
\label{classDamping_a0f1f36a7a942b241d27ad87191473741}

\item 
\hypertarget{classDamping_a94b98a2b55ec8dd2536edcbb5d8f7f2b}{
void {\bfseries set\_\-cutoff} (uint32\_\-t cutoff)}
\label{classDamping_a94b98a2b55ec8dd2536edcbb5d8f7f2b}

\item 
\hypertarget{classDamping_a94b60f6a72ce0757392333c6c1017241}{
uint32\_\-t \hyperlink{classDamping_a94b60f6a72ce0757392333c6c1017241}{get\_\-tick} () const }
\label{classDamping_a94b60f6a72ce0757392333c6c1017241}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} current clock tick. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_a1f8bd6d1e519fc338970b1b5b3326eb5}{
uint32\_\-t \hyperlink{classDamping_a1f8bd6d1e519fc338970b1b5b3326eb5}{get\_\-merit} () const }
\label{classDamping_a1f8bd6d1e519fc338970b1b5b3326eb5}

\begin{DoxyCompactList}\small\item\em Merit value to use \hyperlink{protocolthe-p}{the} first time a route is encountered. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_a289c6648834afd492a24e10a1c9c3476}{
uint32\_\-t \hyperlink{classDamping_a289c6648834afd492a24e10a1c9c3476}{compute\_\-merit} (uint32\_\-t last\_\-time, uint32\_\-t last\_\-merit) const }
\label{classDamping_a289c6648834afd492a24e10a1c9c3476}

\begin{DoxyCompactList}\small\item\em Compute \hyperlink{protocolthe-p}{the} merit value given \hyperlink{protocolthe-p}{the} last time and merit values. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_ab2dbf2722dcba3461525311ec8e42044}{
bool \hyperlink{classDamping_ab2dbf2722dcba3461525311ec8e42044}{cutoff} (uint32\_\-t merit) const }
\label{classDamping_ab2dbf2722dcba3461525311ec8e42044}

\begin{DoxyCompactList}\small\item\em True of \hyperlink{protocolthe-p}{the} merit value has passed \hyperlink{protocolthe-p}{the} cutoff threshold. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_a0e2cd1b193eda002d8d73a6e31f6b8fe}{
bool \hyperlink{classDamping_a0e2cd1b193eda002d8d73a6e31f6b8fe}{reuse} (uint32\_\-t merit) const }
\label{classDamping_a0e2cd1b193eda002d8d73a6e31f6b8fe}

\begin{DoxyCompactList}\small\item\em True of \hyperlink{protocolthe-p}{the} merit value is above \hyperlink{protocolthe-p}{the} reuse threshold. \item\end{DoxyCompactList}\item 
uint32\_\-t \hyperlink{classDamping_adafda2a5b4029e4c3a094ba1275707a8}{get\_\-reuse\_\-time} (uint32\_\-t merit) const 
\begin{DoxyCompactList}\small\item\em Compute how long \hyperlink{protocolthe-p}{the} route should be damped in seconds. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDamping_a0fcb84bf59afc7a28cb72c88dbbe5f7e}{
static const uint32\_\-t {\bfseries FIXED} = 1000}
\label{classDamping_a0fcb84bf59afc7a28cb72c88dbbe5f7e}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDamping_a0ebfe6e7c196e7cbfcf0680826b4d4a4}{
void \hyperlink{classDamping_a0ebfe6e7c196e7cbfcf0680826b4d4a4}{init} ()}
\label{classDamping_a0ebfe6e7c196e7cbfcf0680826b4d4a4}

\begin{DoxyCompactList}\small\item\em Called when damping is enabled. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_a710b7a1d316585e044d057d3554731da}{
void \hyperlink{classDamping_a710b7a1d316585e044d057d3554731da}{halt} ()}
\label{classDamping_a710b7a1d316585e044d057d3554731da}

\begin{DoxyCompactList}\small\item\em Called when damping is disabled. \item\end{DoxyCompactList}\item 
\hypertarget{classDamping_ac427dc6165010a94e356b67baabc39bc}{
bool {\bfseries tick} ()}
\label{classDamping_ac427dc6165010a94e356b67baabc39bc}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDamping_a9cce044cd6d8242e9a558569306d20ca}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classDamping_a9cce044cd6d8242e9a558569306d20ca}

\item 
\hypertarget{classDamping_a901b8bc2285b16f88c0eb72621c27abd}{
bool {\bfseries \_\-damping}}
\label{classDamping_a901b8bc2285b16f88c0eb72621c27abd}

\item 
\hypertarget{classDamping_a27f87486de40add030156dc1980a2e64}{
uint32\_\-t {\bfseries \_\-half\_\-life}}
\label{classDamping_a27f87486de40add030156dc1980a2e64}

\item 
\hypertarget{classDamping_a3f249908b7dbfcd3dcaf8a1b4eb2af11}{
uint32\_\-t {\bfseries \_\-max\_\-hold\_\-down}}
\label{classDamping_a3f249908b7dbfcd3dcaf8a1b4eb2af11}

\item 
\hypertarget{classDamping_afee7d721cb24c27e845fb9819ca65d58}{
uint32\_\-t {\bfseries \_\-reuse}}
\label{classDamping_afee7d721cb24c27e845fb9819ca65d58}

\item 
\hypertarget{classDamping_a2ee1c799b6acf3c0812d426edb50bd44}{
uint32\_\-t {\bfseries \_\-cutoff}}
\label{classDamping_a2ee1c799b6acf3c0812d426edb50bd44}

\item 
\hypertarget{classDamping_aa505692a90a98feb4b47f48621420bc0}{
vector$<$ uint32\_\-t $>$ {\bfseries \_\-decay}}
\label{classDamping_aa505692a90a98feb4b47f48621420bc0}

\item 
\hypertarget{classDamping_a92df33fa2c44e0ae9f0c9120c1c6ab2e}{
uint32\_\-t {\bfseries \_\-tick}}
\label{classDamping_a92df33fa2c44e0ae9f0c9120c1c6ab2e}

\item 
\hypertarget{classDamping_a42d4c0f64aaf6b96047fc15520dccbba}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-tick\_\-tock}}
\label{classDamping_a42d4c0f64aaf6b96047fc15520dccbba}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classDamping_adafda2a5b4029e4c3a094ba1275707a8}{
\index{Damping@{Damping}!get\_\-reuse\_\-time@{get\_\-reuse\_\-time}}
\index{get\_\-reuse\_\-time@{get\_\-reuse\_\-time}!Damping@{Damping}}
\subsubsection[{get\_\-reuse\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t Damping::get\_\-reuse\_\-time (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{merit}
\end{DoxyParamCaption}
) const}}
\label{classDamping_adafda2a5b4029e4c3a094ba1275707a8}


Compute how long \hyperlink{protocolthe-p}{the} route should be damped in seconds. 

The time for this figure of merit to decay to \hyperlink{protocolthe-p}{the} reuse threshold. 

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