X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=src%2Flibswift%2Favgspeed.h;fp=src%2Flibswift%2Favgspeed.h;h=b7d6f37ece1841f2348f2f9f41353bf962f2e681;hb=45963a7511531cd1656ad5d3847d2dafd015c54d;hp=0000000000000000000000000000000000000000;hpb=d069796805ad79542fd7e4406d1e9c6d2d8c2ef7;p=swifty.git diff --git a/src/libswift/avgspeed.h b/src/libswift/avgspeed.h new file mode 100644 index 0000000..b7d6f37 --- /dev/null +++ b/src/libswift/avgspeed.h @@ -0,0 +1,36 @@ +/* + * avgspeed.h + * Class to compute moving average speed + * + * Created by Arno Bakker + * Copyright 2009 Delft University of Technology. All rights reserved. + * + */ +#include "compat.h" + +#ifndef AVGSPEED_H +#define AVGSPEED_H + +namespace swift { + + +class MovingAverageSpeed +{ + public: + MovingAverageSpeed( tint speed_interval = 5 * TINT_SEC, tint fudge = TINT_SEC ); + void AddPoint( uint64_t amount ); + double GetSpeed(); + double GetSpeedNeutral(); + void Reset(); + protected: + tint speed_interval_; + tint t_start_; + tint t_end_; + double speed_; + tint fudge_; + bool resetstate_; +}; + +} + +#endif