Add files for swift over UDP.
[swifty.git] / src / libswift_udp / avgspeed.h
diff --git a/src/libswift_udp/avgspeed.h b/src/libswift_udp/avgspeed.h
new file mode 100644 (file)
index 0000000..b7d6f37
--- /dev/null
@@ -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