Simple exponential backoff because the others seem to have weird abstractions.\hypertarget{md_sfcode_node_modules_backo2_Readme_autotoc_md3794}{}\doxysection{Installation}\label{md_sfcode_node_modules_backo2_Readme_autotoc_md3794}

\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm install backo }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_backo2_Readme_autotoc_md3795}{}\doxysection{Options}\label{md_sfcode_node_modules_backo2_Readme_autotoc_md3795}

\begin{DoxyItemize}
\item {\ttfamily min} initial timeout in milliseconds \mbox{[}100\mbox{]}
\item {\ttfamily max} max timeout \mbox{[}10000\mbox{]}
\item {\ttfamily jitter} \mbox{[}0\mbox{]}
\item {\ttfamily factor} \mbox{[}2\mbox{]}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_backo2_Readme_autotoc_md3796}{}\doxysection{Example}\label{md_sfcode_node_modules_backo2_Readme_autotoc_md3796}

\begin{DoxyCode}{0}
\DoxyCodeLine{var Backoff = require('backo');}
\DoxyCodeLine{var backoff = new Backoff(\{ min: 100, max: 20000 \});}
\DoxyCodeLine{}
\DoxyCodeLine{setTimeout(function()\{}
\DoxyCodeLine{  something.reconnect();}
\DoxyCodeLine{\}, backoff.duration());}
\DoxyCodeLine{}
\DoxyCodeLine{// later when something works}
\DoxyCodeLine{backoff.reset() }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_backo2_Readme_autotoc_md3797}{}\doxysection{License}\label{md_sfcode_node_modules_backo2_Readme_autotoc_md3797}
MIT 