summaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove dependency from arti-client to tor-config.Nick Mathewson2021-11-161-8/+12
| | | | | I'm about to make tor-config a higher-level module, so it can't be a dependency for tor-config.
* Fix typosDimitris Apostolou2021-11-121-1/+1
|
* Merge IpVersionPreferences and the optimistic flag into one type.Nick Mathewson2021-11-101-18/+32
| | | | | It seems like a good time to do this, before we add a zillion other arguments to begin_stream.
* Implement optimistic streamYuan Lyu2021-11-091-1/+13
|
* Improve docs of more (potentially re-exported) arti-client typeseta2021-10-292-12/+45
| | | | | | | | | | | | | | | | | | | | | Most of the structs in `arti-client` have example code now, to give a clearer idea of how they're used. Annoyingly, a lot of the types exposed in `arti-client` are actually re-exports, which makes documentation a bit harder: example code that references other parts of `arti-client` can't actually be run as a doctest, since the crate it's in is a dependency of `arti-client`. We might be able to fix this in future by doing the documentation in `arti-client` itself, but rustdoc seems to have some weird behaviours there that need to be investigated first (for example, it seems to merge the re-export and original documentation, and also put the re-export documentation on the `impl` block for some reason). For now, though, this commit just writes the docs from the point of view of an `arti-client` consumer, removing notes specific to the crate in which they're defined. It's not ideal, but at least the end user experience is decent.
* Try writing a bit more documentation for configuration types.Nick Mathewson2021-10-281-6/+40
|
* Encourage the use of TorClient::clone().Nick Mathewson2021-10-281-1/+2
|
* arti-client example: Try to make the comments a little more clear.Nick Mathewson2021-10-281-6/+10
| | | | | I'm not 100% sure this is better, but it might help the user understand how Arti works a bit better.
* Improve top-level arti-client documentation, add example codeeta2021-10-282-16/+100
| | | | | | | | | | | | | | | | | | | | | This overhauls the top-level `arti-client` documentation significantly: - the "Using arti-client" section walks the user through all of the necessary steps to initiate a Torified TCP connection, and then provides a code example - this example is also available as `examples/readme.rs`; it's not run as a doctest, since it involves connecting to Tor - a "More advanced usage" subheading provides information about stream isolation (and can potentially be used for other interesting features once we get them). - a new "Multiple runtime support" section was added to explain the purpose and usage of the `tor-rtcompat` crate - the section on design and privacy considerations was removed; this is probably okay to keep in a README, but users of the crate aren't going to be interested in this (at least I don't think) (also, the doc comment for `arti_client::Error` was fixed to make actual sense)
* Update our disclaimers and limitations sections.Nick Mathewson2021-10-271-16/+7
|
* TorClient::resolve_ptr should take an IpAddr.Nick Mathewson2021-10-262-9/+1
|
* More tests for arti_client::addressNick Mathewson2021-10-261-15/+106
|
* Turn StreamIsolation into a separate type.Nick Mathewson2021-10-251-4/+12
| | | | | | | | | Now that we have two kinds of isolation tokens (those set on a stream, and those set by the stream's associated TorClient), we need a more sophisticated kind of isolation. This fixes the bug introduced with the previous commit, where per-stream tokens would override per-TorClient tokens.
* Add an isolate_client() function to create an isolated TorClient.Nick Mathewson2021-10-251-15/+34
| | | | | When two TorClients are isolated, their streams shouldn't share circuits, even though they share internal circuit and guard state.
* s/arti-arti-client/arti-client/ and regenerate readme filesNick Mathewson2021-10-251-1/+1
|
* Run "cargo fix --edition-idioms=2018".Nick Mathewson2021-10-221-2/+2
|
* Rename tor_client/arti_tor_client to arti_client.Nick Mathewson2021-10-215-0/+1129
Solves a name conflict with the existing tor_client create. Closes #130.