\hypertarget{classcore_1_1Timer}{}\doxysection{core\+::Timer Class Reference}
\label{classcore_1_1Timer}\index{core::Timer@{core::Timer}}


{\ttfamily \#include $<$Timer.\+h$>$}



Inheritance diagram for core\+::Timer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=156pt]{classcore_1_1Timer__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for core\+::Timer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=174pt]{classcore_1_1Timer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classcore_1_1Timer_aa12f319bab9c7a350244c4d47fe59de9}\label{classcore_1_1Timer_aa12f319bab9c7a350244c4d47fe59de9}} 
{\bfseries Timer} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\item 
\mbox{\Hypertarget{classcore_1_1Timer_a6ba8de81f8e3b26fd132e29230646024}\label{classcore_1_1Timer_a6ba8de81f8e3b26fd132e29230646024}} 
{\bfseries Timer} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, double delay)
\item 
void \mbox{\hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer}} (double delay)
\item 
void \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer}} ()
\item 
double \mbox{\hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed}} ()
\item 
\mbox{\Hypertarget{classcore_1_1Timer_afee1c871ce74e6b594bd6e64ad3cb576}\label{classcore_1_1Timer_afee1c871ce74e6b594bd6e64ad3cb576}} 
double {\bfseries get\+Epoch} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout}} ()=0
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Timer}{Timer}}

Set and trigger callback upon specified timeout.

The \mbox{\hyperlink{classcore_1_1Timer}{Timer}} is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}\label{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}} 
\index{core::Timer@{core::Timer}!clearTimer@{clearTimer}}
\index{clearTimer@{clearTimer}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{clearTimer()}{clearTimer()}}
{\footnotesize\ttfamily void core\+::\+Timer\+::clear\+Timer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Use the \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()}} to unset the timer and return the timer to an idle state. \mbox{\Hypertarget{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}\label{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}} 
\index{core::Timer@{core::Timer}!getElapsed@{getElapsed}}
\index{getElapsed@{getElapsed}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{getElapsed()}{getElapsed()}}
{\footnotesize\ttfamily double core\+::\+Timer\+::get\+Elapsed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Use the \mbox{\hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed()}} method to obtain the amount of time that has elapsed since the timer was set. \mbox{\Hypertarget{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}\label{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}} 
\index{core::Timer@{core::Timer}!onTimeout@{onTimeout}}
\index{onTimeout@{onTimeout}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{onTimeout()}{onTimeout()}}
{\footnotesize\ttfamily virtual void core\+::\+Timer\+::on\+Timeout (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}

This method is called when the time out occurs. \mbox{\Hypertarget{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}\label{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}} 
\index{core::Timer@{core::Timer}!setTimer@{setTimer}}
\index{setTimer@{setTimer}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{setTimer()}{setTimer()}}
{\footnotesize\ttfamily void core\+::\+Timer\+::set\+Timer (\begin{DoxyParamCaption}\item[{double}]{delay }\end{DoxyParamCaption})}

Use the \mbox{\hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer()}} method to set the time out value for timer. Setting the timer also starts the timer countdown. The \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()}} method can be used to reset the timer without triggering the \mbox{\hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout()}} callback.


\begin{DoxyParams}{Parameters}
{\em delay} & the amount of time in seconds to wait before trigering the on\+Timeout function. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Timer.\+h\item 
Timer.\+cpp\end{DoxyCompactItemize}
