diff options
author | Mike Perry <mikeperry-git@torproject.org> | 2018-09-18 00:17:14 +0000 |
---|---|---|
committer | Mike Perry <mikeperry-git@torproject.org> | 2018-09-18 00:17:14 +0000 |
commit | 8a83c4b61397a5923257746f5b06418f8aef9959 (patch) | |
tree | 072676829b51d4e6857e54803e1ff2d9961bb418 /src/feature | |
parent | aebc98d58c12065b2fc831f4cb8d3c715f1ed592 (diff) | |
parent | ad10cafd9f0157e6aaa6f1f68ab7d3ef9b8b1b2e (diff) | |
download | tor-8a83c4b61397a5923257746f5b06418f8aef9959.tar.gz tor-8a83c4b61397a5923257746f5b06418f8aef9959.zip |
Merge branch 'bug23512-v4-033' into bug23512-v4-master
Diffstat (limited to 'src/feature')
-rw-r--r-- | src/feature/stats/rephist.c | 21 | ||||
-rw-r--r-- | src/feature/stats/rephist.h | 10 |
2 files changed, 19 insertions, 12 deletions
diff --git a/src/feature/stats/rephist.c b/src/feature/stats/rephist.c index 405efc26ec..edb079ef2d 100644 --- a/src/feature/stats/rephist.c +++ b/src/feature/stats/rephist.c @@ -106,6 +106,11 @@ static void bw_arrays_init(void); static void predicted_ports_alloc(void); +typedef struct bw_array_t bw_array_t; +STATIC uint64_t find_largest_max(bw_array_t *b); +STATIC void commit_max(bw_array_t *b); +STATIC void advance_obs(bw_array_t *b); + /** Total number of bytes currently allocated in fields used by rephist.c. */ uint64_t rephist_total_alloc=0; /** Number of or_history_t objects currently allocated. */ @@ -1023,7 +1028,7 @@ typedef struct bw_array_t { } bw_array_t; /** Shift the current period of b forward by one. */ -static void +STATIC void commit_max(bw_array_t *b) { /* Store total from current period. */ @@ -1043,7 +1048,7 @@ commit_max(bw_array_t *b) } /** Shift the current observation time of <b>b</b> forward by one second. */ -static inline void +STATIC void advance_obs(bw_array_t *b) { int nextidx; @@ -1121,7 +1126,7 @@ bw_array_free_(bw_array_t *b) /** Recent history of bandwidth observations for read operations. */ static bw_array_t *read_array = NULL; /** Recent history of bandwidth observations for write operations. */ -static bw_array_t *write_array = NULL; +STATIC bw_array_t *write_array = NULL; /** Recent history of bandwidth observations for read operations for the directory protocol. */ static bw_array_t *dir_read_array = NULL; @@ -1153,7 +1158,7 @@ bw_arrays_init(void) * earlier than the latest <b>when</b> you've heard of. */ void -rep_hist_note_bytes_written(size_t num_bytes, time_t when) +rep_hist_note_bytes_written(uint64_t num_bytes, time_t when) { /* Maybe a circular array for recent seconds, and step to a new point * every time a new second shows up. Or simpler is to just to have @@ -1170,7 +1175,7 @@ rep_hist_note_bytes_written(size_t num_bytes, time_t when) * (like rep_hist_note_bytes_written() above) */ void -rep_hist_note_bytes_read(size_t num_bytes, time_t when) +rep_hist_note_bytes_read(uint64_t num_bytes, time_t when) { /* if we're smart, we can make this func and the one above share code */ add_obs(read_array, when, num_bytes); @@ -1180,7 +1185,7 @@ rep_hist_note_bytes_read(size_t num_bytes, time_t when) * <b>when</b>. (like rep_hist_note_bytes_written() above) */ void -rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when) +rep_hist_note_dir_bytes_written(uint64_t num_bytes, time_t when) { add_obs(dir_write_array, when, num_bytes); } @@ -1189,7 +1194,7 @@ rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when) * <b>when</b>. (like rep_hist_note_bytes_written() above) */ void -rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when) +rep_hist_note_dir_bytes_read(uint64_t num_bytes, time_t when) { add_obs(dir_read_array, when, num_bytes); } @@ -1198,7 +1203,7 @@ rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when) * most bandwidth used in any NUM_SECS_ROLLING_MEASURE period for the last * NUM_SECS_BW_SUM_IS_VALID seconds.) */ -static uint64_t +STATIC uint64_t find_largest_max(bw_array_t *b) { int i; diff --git a/src/feature/stats/rephist.h b/src/feature/stats/rephist.h index 67a015a4cd..e17a722489 100644 --- a/src/feature/stats/rephist.h +++ b/src/feature/stats/rephist.h @@ -14,13 +14,13 @@ void rep_hist_init(void); void rep_hist_dump_stats(time_t now, int severity); -void rep_hist_note_bytes_read(size_t num_bytes, time_t when); -void rep_hist_note_bytes_written(size_t num_bytes, time_t when); +void rep_hist_note_bytes_read(uint64_t num_bytes, time_t when); +void rep_hist_note_bytes_written(uint64_t num_bytes, time_t when); void rep_hist_make_router_pessimal(const char *id, time_t when); -void rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when); -void rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when); +void rep_hist_note_dir_bytes_read(uint64_t num_bytes, time_t when); +void rep_hist_note_dir_bytes_written(uint64_t num_bytes, time_t when); MOCK_DECL(int, rep_hist_bandwidth_assess, (void)); char *rep_hist_get_bandwidth_lines(void); @@ -109,6 +109,8 @@ extern uint32_t rephist_total_num; #ifdef TOR_UNIT_TESTS extern int onion_handshakes_requested[MAX_ONION_HANDSHAKE_TYPE+1]; extern int onion_handshakes_assigned[MAX_ONION_HANDSHAKE_TYPE+1]; +typedef struct bw_array_t bw_array_t; +extern bw_array_t *write_array; #endif /** |