summaryrefslogtreecommitdiff
path: root/crates/tor-circmgr/src/timeouts
Commit message (Collapse)AuthorAgeFilesLines
* add semicolons if nothing returnedDaniel Eades2021-11-252-3/+3
|
* Fix a few typos.Nick Mathewson2021-11-241-1/+1
| | | | Also fix some commonwealth spellings that had slipped in.
* Basic tests for readonly estimators, and estimator migration.Nick Mathewson2021-11-032-2/+92
| | | | | Also add a comment about a possible problem behavior in read-only estimators.
* Add #[serde(flatten)] HashMap fields to serializable objectseta2021-10-271-2/+8
| | | | | | | | | | As per arti#175, we'd like to be able to handle newer Arti versions storing additional state in the persisted state files, without dropping this data on the floor when we write out changes to these files. Use the #[serde(flatten)] mechanism to achieve this, by adding catch-all HashMap<String, JsonValue> fields to all structs that are at risk of this happening to them.
* Remove #![allow(dead_code)] in timeouts.rsNick Mathewson2021-10-211-0/+1
|
* Finish the timeout-inference side of shared state.Nick Mathewson2021-10-201-2/+63
|
* Add a timeout estimator to take estimates from another process.Nick Mathewson2021-10-203-42/+92
|
* Allow type of timeout estimator to change at runtime.Nick Mathewson2021-10-202-143/+221
| | | | | | This is a big change, but it does simplify the type of Builder a little, and isolates locking across different (potential) timeout estimator types.
* enable checked_conversions lint.Nick Mathewson2021-10-091-4/+10
|
* Initial backend implementation for guard node manager.Nick Mathewson2021-10-071-0/+1
| | | | | | | There are some missing parts here (like persistence and tests) and some incorrect parts (I am 90% sure that the "exploratory circuit" flag is bogus). Also it is not integrated with the circuit manager code.
* fix/silence clippy lints in test modulesDaniel Eades2021-09-081-0/+2
|
* More tests in pareto.rsNick Mathewson2021-09-081-9/+47
|
* Use same defaults for abandon and close times in timeout code.Nick Mathewson2021-09-071-6/+4
| | | | | | | | | | | On torspec!40, Mike says: I don't think there is a practical difference here. As per Section 2.4.5, if 60 seconds is not enough and causes the liveness test to fail due to too many timeouts, we will double the initial timeout. This makes our behavior the same as C tor.
* Stop making abandoned/successful circuit counts persistentNick Mathewson2021-09-071-22/+1
| | | | | | | | | | | | | | The C Tor implementation doesn't do this, and Mike says: I think it is a reasonable enough assumption that if Tor has restarted, this kind data is no longer fresh enough to be accurate for this purpose. This is also only 20 circuits here, and typical timeouts are now around 1-2 seconds or less.. So a restarted client with a timeout that is too low for a new internet connection will figure this out pretty quickly. I think that is OK. (from torspec!40)
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-271-0/+941
This will cause some pain for now, but now is really the best time to do this kind of thing.