aboutsummaryrefslogtreecommitdiff
path: root/src/feature/stats/predict_ports.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-09-27 08:21:17 -0400
committerNick Mathewson <nickm@torproject.org>2018-09-27 08:21:17 -0400
commit241c1505ccb4a501c1b56af7b6e12e055db29e09 (patch)
tree9cb06190b6ee07cf2c7347540912b05051d41d0f /src/feature/stats/predict_ports.h
parentde0b07c634c45297bad794567cb44ab91988b0ca (diff)
downloadtor-241c1505ccb4a501c1b56af7b6e12e055db29e09.tar.gz
tor-241c1505ccb4a501c1b56af7b6e12e055db29e09.zip
Move the predicted ports code out of rephist.c
It differs from the rest of the rephist code in that it's actually necessary for Tor to operate, so it should probably go somewhere else. I'm not sure where yet, so I'll leave it in the same directory, but give it its own file.
Diffstat (limited to 'src/feature/stats/predict_ports.h')
-rw-r--r--src/feature/stats/predict_ports.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/feature/stats/predict_ports.h b/src/feature/stats/predict_ports.h
new file mode 100644
index 0000000000..ecb2e9caf2
--- /dev/null
+++ b/src/feature/stats/predict_ports.h
@@ -0,0 +1,30 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file predict_portst.h
+ * \brief Header file for predict_ports.c.
+ **/
+
+#ifndef TOR_PREDICT_PORTS_H
+#define TOR_PREDICT_PORTS_H
+
+void predicted_ports_init(void);
+void rep_hist_note_used_port(time_t now, uint16_t port);
+smartlist_t *rep_hist_get_predicted_ports(time_t now);
+void rep_hist_remove_predicted_ports(const smartlist_t *rmv_ports);
+void rep_hist_note_used_resolve(time_t now);
+void rep_hist_note_used_internal(time_t now, int need_uptime,
+ int need_capacity);
+int rep_hist_get_predicted_internal(time_t now, int *need_uptime,
+ int *need_capacity);
+
+int any_predicted_circuits(time_t now);
+int rep_hist_circbuilding_dormant(time_t now);
+int predicted_ports_prediction_time_remaining(time_t now);
+void predicted_ports_free_all(void);
+
+#endif