3 #ifndef __ARC_DATASPEED_H__
4 #define __ARC_DATASPEED_H__
8 #include <arc/Logger.h>
10 #define DATASPEED_AVERAGING_PERIOD 60
24 time_t last_activity_time;
25 unsigned long long int N;
26 unsigned long long int Nall;
27 unsigned long long int Nmax;
28 time_t first_speed_failure;
32 time_t min_speed_time;
33 time_t max_inactivity_time;
34 unsigned long long int min_speed;
35 unsigned long long int min_average_speed;
37 std::string verbose_prefix;
39 bool min_speed_failed;
40 bool min_average_speed_failed;
41 bool max_inactivity_time_failed;
60 unsigned long long int all,
61 unsigned long long int max,
62 double instant,
double average);
65 void print_statistics(FILE *o, time_t t);
71 DataSpeed(time_t base = DATASPEED_AVERAGING_PERIOD);
84 DataSpeed(
unsigned long long int min_speed, time_t min_speed_time,
85 unsigned long long int min_average_speed,
86 time_t max_inactivity_time,
87 time_t base = DATASPEED_AVERAGING_PERIOD);
93 void verbose(
const std::string& prefix);
104 time_t min_speed_time);
120 void set_base(time_t base_ = DATASPEED_AVERAGING_PERIOD);
138 bool transfer(
unsigned long long int n = 0);
140 void hold(
bool disable);
143 return min_speed_failed;
147 return min_average_speed_failed;
151 return max_inactivity_time_failed;
161 #endif // __ARC_DATASPEED_H__