#ifndef PINGINTERVAL_H
#define PINGINTERVAL_H
+#include <boost/assert.hpp>
+
//-----------------------------------------------------------------------------
// PingInterval
//-----------------------------------------------------------------------------
OriginalInterval( interval ),
Interval( interval )
{
+ BOOST_ASSERT( 0 < interval );
}
template<typename T>
template<typename T>
PingInterval<T>::operator T()
{
+ BOOST_ASSERT( 0 < Interval );
+
return Interval;
}
void PingInterval<T>::back_to_original()
{
Interval = OriginalInterval;
+
+ BOOST_ASSERT( 0 < Interval );
}
template<typename T>
void PingInterval<T>::speed_up()
{
+ BOOST_ASSERT( 0 < Interval );
+
if ( can_speed_up() )
+ {
Interval = Interval / 2;
+ }
+
+ if ( Interval < 1 )
+ {
+ Interval = 1;
+ }
+
+ BOOST_ASSERT( 0 < Interval );
}
template<typename T>
{
T half_original = OriginalInterval / 2;
- return (Interval > half_original);
+ return ( Interval > half_original );
}