| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-circmgr: If necessary, extend the circuit to become STUB+. | Gabriela Moldovan | 2024-05-15 | 1 | -8/+42 |
| | | | | | Closes #1400 | ||||
| * | tor-circmgr: Add a helper for extending HsCircStubs by one hop. | Gabriela Moldovan | 2024-05-15 | 1 | -2/+15 |
| | | | | | | | We're about to use this in `maybe_extend_stub_circuit` too. Part of #1400 | ||||
| * | tor-circmgr: Don't log unless we are launching some circuits. | Gabriela Moldovan | 2024-04-29 | 1 | -5/+7 |
| | | | | | Otherwise we end up logging that we're launching 0 circuits. | ||||
| * | tor-circmgr: Remove no-longer-relevant TODO. | Gabriela Moldovan | 2024-04-29 | 1 | -1/+1 |
| | | | | | The wanted_kind _does_ matter. | ||||
| * | tor-circmgr: The circuit must still be usable, even if vanguards are enabled. | Gabriela Moldovan | 2024-04-29 | 1 | -3/+1 |
| | | |||||
| * | tor-circmgr: Prefer STUB+ where possible. | Gabriela Moldovan | 2024-04-29 | 1 | -6/+26 |
| | | | | | Closes #1385 | ||||
| * | tor-circmgr: Add a TODO about launching HS circuits in parallel. | Gabriela Moldovan | 2024-04-29 | 1 | -0/+1 |
| | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2102#note_3024370 | ||||
| * | tor-circmgr: Remove an addressed TODO. | Gabriela Moldovan | 2024-04-29 | 1 | -13/+0 |
| | | |||||
| * | tor-circmgr: Log the kinds of circuits we're about to launch (fmt). | Gabriela Moldovan | 2024-04-29 | 1 | -4/+1 |
| | | |||||
| * | tor-circmgr: Log the kinds of circuits we're about to launch. | Gabriela Moldovan | 2024-04-29 | 1 | -3/+14 |
| | | |||||
| * | tor-circmgr: Remove no-longer-needed dead code allows. | Gabriela Moldovan | 2024-04-29 | 1 | -2/+0 |
| | | |||||
| * | tor-circmgr: Make a fraction of preemptive HS circuits be STUB+. | Gabriela Moldovan | 2024-04-29 | 1 | -7/+8 |
| | | | | | Closes #1353 | ||||
| * | tor-circmgr: Loop until we run out of circuits to launch. | Gabriela Moldovan | 2024-04-25 | 1 | -1/+1 |
| | | | | | | Previously this would only loop `n_to_launch - 1` times, so the pool was always 1 circuit short of the `n_to_launch` target. | ||||
| * | tor-circmgr: Cross-reference the hspath docs in the HsCircStubKind docs. | Gabriela Moldovan | 2024-03-20 | 1 | -1/+3 |
| | | |||||
| * | tor-circmgr: Remove unnecessary Result wrapping. | Gabriela Moldovan | 2024-03-20 | 1 | -7/+7 |
| | | |||||
| * | tor-circmgr: Add an explanation and a couple of TODOs. | Gabriela Moldovan | 2024-03-20 | 1 | -0/+8 |
| | | |||||
| * | tor-circmgr: Clarify the TODO in launch_hs_circuits_as_needed. | Gabriela Moldovan | 2024-03-20 | 1 | -2/+12 |
| | | |||||
| * | tor-circmgr: s/can_build/can_become. | Gabriela Moldovan | 2024-03-20 | 1 | -2/+2 |
| | | |||||
| * | tor-circmgr: Move match block to a separate function. | Gabriela Moldovan | 2024-03-20 | 1 | -15/+20 |
| | | |||||
| * | tor-circmgr: Tell HsPathBuilder what kind of circuit stub is needed. | Gabriela Moldovan | 2024-03-20 | 1 | -2/+6 |
| | | |||||
| * | tor-circmgr: Handle the take_or_launch_stub_circuit result. | Gabriela Moldovan | 2024-03-20 | 1 | -0/+13 |
| | | |||||
| * | tor-circmgr: Make take_or_launch_stub_circuit vanguard-aware. | Gabriela Moldovan | 2024-03-20 | 1 | -8/+59 |
| | | |||||
| * | tor-circmgr: Add functions for checking if vanguards are enabled. | Gabriela Moldovan | 2024-03-20 | 1 | -0/+12 |
| | | |||||
| * | tor-circmgr: For each HS ClientCirc, note whether it's STUB or STUB+. | Gabriela Moldovan | 2024-03-20 | 1 | -19/+95 |
| | | | | | Closes #1276 | ||||
| * | Annotate usage of low_level_predicate_permits_relay | Nick Mathewson | 2024-03-12 | 1 | -0/+8 |
| | | |||||
| * | Rename the RelayPredicate trait to discourage its being used directly. | Nick Mathewson | 2024-03-12 | 1 | -2/+4 |
| | | | | | Everybody who can, should instead use a RelaySelector. | ||||
| * | Add comments about "unaccompanied" use of Relay{Usage,Exclusion} | Nick Mathewson | 2024-03-12 | 1 | -0/+2 |
| | | | | | | | When used outside of RelaySelector, these two types don't enforce one another's presence, and as such have a bit more risk of negligent use. | ||||
| * | hspool: Replace TargetInfo with a RelayExclusion. | Nick Mathewson | 2024-03-12 | 1 | -53/+17 |
| | | |||||
| * | tor-circmgr: Add HsCircPoolConfig, make HsCircPool::reconfigure general-purpose. | Gabriela Moldovan | 2024-03-11 | 1 | -7/+14 |
| | | |||||
| * | tor-circmgr: Rename Pool::reconfigure to Pool::reconfigure_vanguards. | Gabriela Moldovan | 2024-03-11 | 1 | -1/+1 |
| | | |||||
| * | tor-circmgr: Add functions for reconfiguring the HS circuit pool. | Gabriela Moldovan | 2024-03-11 | 1 | -0/+16 |
| | | | | | | If the vanguard "mode" (full/lite/disabled) changes, we purge all the circuits from the HS circuit pool because they are no longer suitable. | ||||
| * | tor-circmgr: Add UniqId to Error::Protocol. | Gabriela Moldovan | 2024-02-27 | 1 | -0/+1 |
| | | | | | Part of #1297 | ||||
| * | tor-circmgr: Add UniqId to CircTimeout. | Gabriela Moldovan | 2024-02-27 | 1 | -1/+1 |
| | | | | | Part of #1297 | ||||
| * | Mark code with "TODO #504" and "TODO #789". | Nick Mathewson | 2024-02-22 | 1 | -0/+2 |
| | | | | | | | | | I've done this by looking for every non-test instance of pick_relays or pick_n_relays, and for every non-test usage of any non-ID-related method on Relay or UncheckedRelay. Part of #504. | ||||
| * | netdir: Explain why there is no HsRend WeightRule. | Nick Mathewson | 2024-01-14 | 1 | -0/+6 |
| | | |||||
| * | circmgr: Use event_report!() and similar macros | Nick Mathewson | 2023-07-07 | 1 | -6/+4 |
| | | | | | This simplifies our logging a little, and implements part of | ||||
| * | tor-circmgr: Provide estimate_timeout as a method on HsCircPool | Ian Jackson | 2023-06-29 | 1 | -1/+21 |
| | | |||||
| * | circmgr: Refactor duplicate logic. | Nick Mathewson | 2023-06-28 | 1 | -27/+21 |
| | | | | | | These two functions are only slightly different, and benefit from taking a Fn. | ||||
| * | circmgr: Remove a "TODO HS" about path restrictions. | Nick Mathewson | 2023-06-28 | 1 | -3/+0 |
| | | | | | | I looked through the C tor source code and couldn't find any additional path restrictions. | ||||
| * | circmgr: Defer two "TODO HS" in hspool | Nick Mathewson | 2023-06-28 | 1 | -2/+2 |
| | | | | | One of these is test-related; one is vanguards-related. | ||||
| * | hspool: Use let-else pattern; our MSRV permits it. | Nick Mathewson | 2023-06-22 | 1 | -6/+2 |
| | | |||||
| * | circmgr: Use path_ref() instead of path(). | Nick Mathewson | 2023-06-22 | 1 | -24/+45 |
| | | |||||
| * | circmgr: Make hspool size dynamic | Nick Mathewson | 2023-06-16 | 1 | -19/+10 |
| | | | | | | | | | | | | | | | Previously we'd always try to keep 8 circuits ready. That doesn't make sense if we are super-busy. Instead, if we run out of circuits, we double the amount that we try to keep ready, and if we never go under 80% of our target number, we half the number we try to keep ready. We limit the rate of change here, to make sure that we aren't flapping too much or shrinking too aggressively. This algorithm is still a mite arbitrary, and will need tuning in the future. | ||||
| * | circmgr::hspool: Move the Mutex into an intermediary Inner struct | Nick Mathewson | 2023-06-16 | 1 | -24/+42 |
| | | | | | This will be helpful as we complexify the pool behavior a bit. | ||||
| * | circmgr: Remove TODOS about retrying. | Nick Mathewson | 2023-06-16 | 1 | -5/+0 |
| | | | | | | | These functions' documentation already says that they don't retry, and hsclient appears to be where we are concentrating our retry efforts. | ||||
| * | Refactor ClientCirc APIs to use Arc<ClientCirc>. | Nick Mathewson | 2023-05-16 | 1 | -3/+3 |
| | | | | | | | | | | | | | Now ClientCirc is no longer `Clone`, and the things that need it to be `Clone` instead return and use an Arc<ClientCirc> We're doing this so that ClientCirc can participate in the RPC system, and so that its semantics are more obvious. Closes #846. Thanks to the type system, this was a much simpler refactoring than I had feared it would be. | ||||
| * | hspool: Accept any T:CircTarget. | Nick Mathewson | 2023-05-10 | 1 | -9/+26 |
| | | | | | | | Previously, we only accepted an OwnedCircTarget, which would have kept us from getting a circuit that was aimed at a specialized CircTarget that gave us LinkSpecs in a raw order. | ||||
| * | tor-circmgr: HsCircKind: derive Eq | Ian Jackson | 2023-04-05 | 1 | -1/+1 |
| | | |||||
| * | tor-circmgr: Make take_or_launch_stub_circuit future Send | Ian Jackson | 2023-03-30 | 1 | -2/+1 |
| | | | | | | thread_rng() isn't Send. We can fix this by not holding it over an await point. | ||||
| * | hspool: simplify loop and add a maximum | Nick Mathewson | 2023-03-22 | 1 | -41/+39 |
| | | |||||
