aboutsummaryrefslogtreecommitdiff
path: root/src/or/cpuworker.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-12-26 18:08:01 -0500
committerNick Mathewson <nickm@torproject.org>2013-01-03 13:03:41 -0500
commitb0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799 (patch)
tree5c360b7f1aa0e77061676949bb1679fa4311190d /src/or/cpuworker.h
parentdffc8e359bcfeb00813a3afde6aa2328f6a6a476 (diff)
downloadtor-b0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799.tar
tor-b0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799.tar.gz
Eliminate MaxOnionsPending; replace it with MaxOnionQueueDelay
The right way to set "MaxOnionsPending" was to adjust it until the processing delay was appropriate. So instead, let's measure how long it takes to process onionskins (sampling them once we have a big number), and then limit the queue based on its expected time to finish. This change is extra-necessary for ntor, since there is no longer a reasonable way to set MaxOnionsPending without knowing what mix of onionskins you'll get. This patch also reserves 1/3 of the onionskin spots for ntor handshakes, on the theory that TAP handshakes shouldn't be allowed to starve their speedier cousins. We can change this later if need be. Resolves 7291.
Diffstat (limited to 'src/or/cpuworker.h')
-rw-r--r--src/or/cpuworker.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/cpuworker.h b/src/or/cpuworker.h
index f607e7d48..df6917237 100644
--- a/src/or/cpuworker.h
+++ b/src/or/cpuworker.h
@@ -22,5 +22,8 @@ int assign_onionskin_to_cpuworker(connection_t *cpuworker,
or_circuit_t *circ,
struct create_cell_t *onionskin);
+uint64_t estimated_usec_for_onionskins(uint32_t n_requests,
+ uint16_t onionskin_type);
+
#endif