rephist.h 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /* Copyright (c) 2001 Matej Pfajfar.
  2. * Copyright (c) 2001-2004, Roger Dingledine.
  3. * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
  4. * Copyright (c) 2007-2011, The Tor Project, Inc. */
  5. /* See LICENSE for licensing information */
  6. /**
  7. * \file rephist.h
  8. * \brief Header file for rephist.c.
  9. **/
  10. #ifndef _TOR_REPHIST_H
  11. #define _TOR_REPHIST_H
  12. void rep_hist_init(void);
  13. void rep_hist_note_connect_failed(const char* nickname, time_t when);
  14. void rep_hist_note_connect_succeeded(const char* nickname, time_t when);
  15. void rep_hist_note_disconnect(const char* nickname, time_t when);
  16. void rep_hist_note_connection_died(const char* nickname, time_t when);
  17. void rep_hist_note_extend_succeeded(const char *from_name,
  18. const char *to_name);
  19. void rep_hist_note_extend_failed(const char *from_name, const char *to_name);
  20. void rep_hist_dump_stats(time_t now, int severity);
  21. void rep_hist_note_bytes_read(size_t num_bytes, time_t when);
  22. void rep_hist_note_bytes_written(size_t num_bytes, time_t when);
  23. void rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when);
  24. void rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when);
  25. int rep_hist_bandwidth_assess(void);
  26. char *rep_hist_get_bandwidth_lines(void);
  27. void rep_hist_update_state(or_state_t *state);
  28. int rep_hist_load_state(or_state_t *state, char **err);
  29. void rep_history_clean(time_t before);
  30. void rep_hist_note_router_reachable(const char *id, time_t when);
  31. void rep_hist_note_router_unreachable(const char *id, time_t when);
  32. int rep_hist_record_mtbf_data(time_t now, int missing_means_down);
  33. int rep_hist_load_mtbf_data(time_t now);
  34. time_t rep_hist_downrate_old_runs(time_t now);
  35. double rep_hist_get_stability(const char *id, time_t when);
  36. double rep_hist_get_weighted_fractional_uptime(const char *id, time_t when);
  37. long rep_hist_get_weighted_time_known(const char *id, time_t when);
  38. int rep_hist_have_measured_enough_stability(void);
  39. const char *rep_hist_get_router_stability_doc(time_t now);
  40. void rep_hist_note_used_port(time_t now, uint16_t port);
  41. smartlist_t *rep_hist_get_predicted_ports(time_t now);
  42. void rep_hist_note_used_resolve(time_t now);
  43. void rep_hist_note_used_internal(time_t now, int need_uptime,
  44. int need_capacity);
  45. int rep_hist_get_predicted_internal(time_t now, int *need_uptime,
  46. int *need_capacity);
  47. int any_predicted_circuits(time_t now);
  48. int rep_hist_circbuilding_dormant(time_t now);
  49. void note_crypto_pk_op(pk_op_t operation);
  50. void dump_pk_ops(int severity);
  51. void rep_hist_free_all(void);
  52. void rep_hist_exit_stats_init(time_t now);
  53. void rep_hist_reset_exit_stats(time_t now);
  54. void rep_hist_exit_stats_term(void);
  55. char *rep_hist_format_exit_stats(time_t now);
  56. time_t rep_hist_exit_stats_write(time_t now);
  57. void rep_hist_note_exit_bytes(uint16_t port, size_t num_written,
  58. size_t num_read);
  59. void rep_hist_note_exit_stream_opened(uint16_t port);
  60. void rep_hist_buffer_stats_init(time_t now);
  61. void rep_hist_buffer_stats_add_circ(circuit_t *circ,
  62. time_t end_of_interval);
  63. time_t rep_hist_buffer_stats_write(time_t now);
  64. void rep_hist_buffer_stats_term(void);
  65. #endif