diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-12-26 18:08:01 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-01-03 13:03:41 -0500 |
commit | b0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799 (patch) | |
tree | 5c360b7f1aa0e77061676949bb1679fa4311190d /src/or/cpuworker.h | |
parent | dffc8e359bcfeb00813a3afde6aa2328f6a6a476 (diff) | |
download | tor-b0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799.tar.gz tor-b0b3c14c11afe55cd71f9c1b8a89d9e5a65c9799.zip |
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.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/cpuworker.h b/src/or/cpuworker.h index f607e7d484..df6917237e 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 |