mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
nickm wants us to prioritize tap in a currently-rare edge case
This commit is contained in:
parent
71e0ca02b5
commit
c6f1668db3
@ -217,8 +217,21 @@ decide_next_handshake_type(void)
|
|||||||
if (!ol_entries[ONION_HANDSHAKE_TYPE_NTOR])
|
if (!ol_entries[ONION_HANDSHAKE_TYPE_NTOR])
|
||||||
return ONION_HANDSHAKE_TYPE_TAP; /* no ntors? try tap */
|
return ONION_HANDSHAKE_TYPE_TAP; /* no ntors? try tap */
|
||||||
|
|
||||||
if (!ol_entries[ONION_HANDSHAKE_TYPE_TAP])
|
if (!ol_entries[ONION_HANDSHAKE_TYPE_TAP]) {
|
||||||
|
|
||||||
|
/* Nick wants us to prioritize new tap requests when there aren't
|
||||||
|
* any in the queue and we've processed k ntor cells since the last
|
||||||
|
* tap cell. This strategy is maybe a good idea, since it starves tap
|
||||||
|
* less in the case where tap is rare, or maybe a poor idea, since it
|
||||||
|
* makes the new tap cell unfairly jump in front of ntor cells that
|
||||||
|
* got here first. In any case this edge case will only become relevant
|
||||||
|
* once tap is rare. We should reevaluate whether we like this decision
|
||||||
|
* once tap gets more rare. */
|
||||||
|
if (ol_entries[ONION_HANDSHAKE_TYPE_NTOR])
|
||||||
|
++recently_chosen_ntors;
|
||||||
|
|
||||||
return ONION_HANDSHAKE_TYPE_NTOR; /* no taps? try ntor */
|
return ONION_HANDSHAKE_TYPE_NTOR; /* no taps? try ntor */
|
||||||
|
}
|
||||||
|
|
||||||
/* They both have something queued. Pick ntor if we haven't done that
|
/* They both have something queued. Pick ntor if we haven't done that
|
||||||
* too much lately. */
|
* too much lately. */
|
||||||
|
Loading…
Reference in New Issue
Block a user