| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Use FuturesUnordered, not SelectAll<Once<...>> | Nick Mathewson | 2021-06-14 | 2 | -12/+11 | |
| | | | | | Closes #124 | |||||
| * | Enormous tor-circmgr rewrite. | Nick Mathewson | 2021-06-14 | 11 | -435/+1662 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As with the tor-chanmgr code, the circuit manager is now implemented using an AbstractCircMgr type that uses traits to abstract the particular behavior of other types that it uses. (Specifically: circuits, building circuits, and telling whether one circuit usage is compatible with another.) Abstracting out the dependencies in this ways makes it possible to test the circuit manager without having to actually build real circuits. This commit also introduces new behavior for handling pending circuit requests. Upon getting a new request, first we check to see if there's an existing circuit we can use. If there isn't, we look for pending circuits and wait for them. If there aren't any pending circuits we can use, we launch one or more, and wait for them. So far, that's the same as the old behavior. But here's a change: if, while we are waiting for some pending circuits, a different circuit is completed, and it's one we could use, then the task that was building _that_ circuit will tell us: "please look at this circuit". This gives us better changes of getting a usable circuit fast. Minor changes: * The Error type in CircMgr no longer uses anyhow; several errors have been simplified. * We've gotten more formal about the relationship between circuit usage and target usage. | |||||
| * | Implement Debug for ClientCirc and Channel. | Nick Mathewson | 2021-06-14 | 2 | -0/+20 | |
| | | ||||||
| * | Make a few error types implement Clone | Nick Mathewson | 2021-06-14 | 3 | -7/+31 | |
| | | | | | | | | To make this work we have to wrap std::io::Error in an Arc. The benefit of having these errors implement Clone is that we can provide the same Error in response to multiple requests when they are all waiting on the same operation. | |||||
| * | linkspec: Define owned variants of ChanTarget and CircTarget. | Nick Mathewson | 2021-06-13 | 5 | -65/+139 | |
| | | ||||||
| * | add rustdoc link to readme | Nick Mathewson | 2021-06-09 | 1 | -0/+2 | |
| | | ||||||
| * | Remove accidentally committed graph files. | Nick Mathewson | 2021-06-08 | 3 | -270/+0 | |
| | | ||||||
| * | Add an XXXX to path.rs | Nick Mathewson | 2021-06-04 | 1 | -0/+1 | |
| | | ||||||
| * | Missing experimental-api imports. | Nick Mathewson | 2021-06-03 | 1 | -1/+3 | |
| | | ||||||
| * | cirmgr: Move usage-related code into a submodule, and refactor. | Nick Mathewson | 2021-06-02 | 3 | -137/+168 | |
| | | ||||||
| * | Add a warning comment about truncate-and-reextend. | Nick Mathewson | 2021-05-28 | 1 | -0/+5 | |
| | | ||||||
| * | tor-proto: change internal meta-handler API for error-proofing | Nick Mathewson | 2021-05-28 | 2 | -67/+108 | |
| | | | | | | | | The previous API required the caller to check that the meta-cell it got was coming from the right hop; the new API requires the caller to say which hop it expects to get a cell from. With this change, it's not possible to omit the correct-hop check. | |||||
| * | Add noop_method_call warning. | Nick Mathewson | 2021-05-27 | 25 | -0/+25 | |
| | | | | | | | This would have saved ahf and me a lot of confusion in debugging a situation where we were cloning a reference of a type that didn't implement Clone. | |||||
| * | Use the "typos" tool to fix some spelling | Nick Mathewson | 2021-05-26 | 26 | -30/+30 | |
| | | ||||||
| * | Use thiserror to simplify tor-units | Nick Mathewson | 2021-05-26 | 2 | -26/+7 | |
| | | ||||||
| * | Add a Display test in tor-units | Nick Mathewson | 2021-05-26 | 1 | -0/+6 | |
| | | ||||||
| * | Add a script with the command I've been using for coverage | Nick Mathewson | 2021-05-26 | 2 | -0/+4 | |
| | | ||||||
| * | Try some tweaks to .gitlab-ci.yml | Nick Mathewson | 2021-05-25 | 1 | -7/+8 | |
| | | | | | | | | | | | The "--all" flag is deprecated in favor of "--workspace", which isn't actually needed here. "--all-features" catches a few things that we want to make sure we're catching. Let's try out cargo doc and make sure that passes too. | |||||
| * | Update hs_ntor code. | Nick Mathewson | 2021-05-25 | 1 | -4/+6 | |
| | | | | | | Work with the latest version of the crypto crate, and suppress the unreachable_pub warning. | |||||
| * | Enable cargo_common_metadata warning. | Nick Mathewson | 2021-05-25 | 25 | -3/+27 | |
| | | ||||||
| * | Add automatically generated README.md files to each crate. | Nick Mathewson | 2021-05-25 | 24 | -0/+1145 | |
| | | ||||||
| * | Module docs for remaining crates | Nick Mathewson | 2021-05-25 | 5 | -13/+53 | |
| | | ||||||
| * | Replace the last user of caret_enum with caret_int. | Nick Mathewson | 2021-05-25 | 4 | -301/+74 | |
| | | | | | This lets us remove caret_enum entirely. | |||||
| * | Remove extern crate declarations. | Nick Mathewson | 2021-05-25 | 1 | -1/+0 | |
| | | | | | They're no longer needed for macro use in Rust 2018. | |||||
| * | Use "use" in tor_netdir, remove needless qualifications. | Nick Mathewson | 2021-05-25 | 1 | -7/+8 | |
| | | ||||||
| * | tor-netdir no longer uses caret. | Nick Mathewson | 2021-05-25 | 1 | -1/+0 | |
| | | ||||||
| * | Re-add a percentage type wrapper. | Nick Mathewson | 2021-05-25 | 3 | -12/+71 | |
| | | | | | | | It turns out that when we don't have a percentage type associated with a value, it is far too easy to forget to divide by 100 before using it as a fraction. | |||||
| * | fixup! Revert change to type of NetParams value. | Nick Mathewson | 2021-05-25 | 1 | -4/+0 | |
| | | ||||||
| * | Remove a needless lifetime. | Nick Mathewson | 2021-05-25 | 1 | -1/+1 | |
| | | ||||||
| * | Remove unused derive_more. | Nick Mathewson | 2021-05-25 | 1 | -5/+0 | |
| | | ||||||
| * | tor-units: warn about uninhabited types and panics | Nick Mathewson | 2021-05-25 | 1 | -1/+21 | |
| | | ||||||
| * | Mention tor-units in the readme | Nick Mathewson | 2021-05-25 | 1 | -0/+2 | |
| | | ||||||
| * | Tweaks docs and style in tor-units. | Nick Mathewson | 2021-05-25 | 1 | -17/+52 | |
| | | ||||||
| * | Remove the no-longer-used params::Error | Nick Mathewson | 2021-05-25 | 1 | -25/+0 | |
| | | ||||||
| * | Documentation fix. | Nick Mathewson | 2021-05-25 | 1 | -5/+6 | |
| | | ||||||
| * | It is not an error to see an unrecognized parameter. | Nick Mathewson | 2021-05-25 | 2 | -56/+45 | |
| | | ||||||
| * | Apply our suite of clippy warnings to tor-units. | Nick Mathewson | 2021-05-25 | 1 | -5/+23 | |
| | | ||||||
| * | Fix clippy warnings by marking types non-exhaustive. | Nick Mathewson | 2021-05-25 | 1 | -1/+3 | |
| | | ||||||
| * | Revert change to type of NetParams value. | Nick Mathewson | 2021-05-25 | 5 | -74/+54 | |
| | | | | | | This truly is an i32, not a strings: it is a specified requirement in parsing consensus documents. | |||||
| * | Use macros and types to improve handling of Netdir parameters. | Nick Mathewson | 2021-05-25 | 11 | -272/+538 | |
| | | | | | (Squashed from typed-netdir-params) | |||||
| * | Crate documentation for tor-consdiff. | Nick Mathewson | 2021-05-24 | 1 | -3/+11 | |
| | | ||||||
| * | fix a doc link in tor-linkspec. | Nick Mathewson | 2021-05-24 | 1 | -1/+1 | |
| | | ||||||
| * | More docs on tor-netdir. | Nick Mathewson | 2021-05-24 | 1 | -8/+26 | |
| | | ||||||
| * | Light tweaks to tor-netdoc. | Nick Mathewson | 2021-05-24 | 1 | -2/+8 | |
| | | ||||||
| * | Light tweaks to tor-cell doc | Nick Mathewson | 2021-05-24 | 1 | -0/+6 | |
| | | ||||||
| * | Use full suite of warnings in arti crate as well. | Nick Mathewson | 2021-05-24 | 2 | -1/+21 | |
| | | ||||||
| * | improve crate docs for tor-linkspec | Nick Mathewson | 2021-05-24 | 1 | -4/+36 | |
| | | ||||||
| * | Small updates to README | Nick Mathewson | 2021-05-24 | 1 | -4/+10 | |
| | | ||||||
| * | Improve crate-level docs in arti CLI crate. | Nick Mathewson | 2021-05-24 | 5 | -0/+323 | |
| | | ||||||
| * | tor-llcrypto: finish a sentence in the docs. | Nick Mathewson | 2021-05-24 | 1 | -1/+3 | |
| | | ||||||
