summaryrefslogtreecommitdiff
path: root/tor-rtcompat/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Add noop_method_call warning.Nick Mathewson2021-05-271-0/+1
| | | | | | 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.
* Enable cargo_common_metadata warning.Nick Mathewson2021-05-251-0/+1
|
* Add a link tto the tor website to arti blurb.Nick Mathewson2021-05-241-1/+2
|
* Add tor-proto docs and tweak docs+apis elsewhere.Nick Mathewson2021-05-211-7/+7
|
* Improve crate-level tor-rtcompat documentationNick Mathewson2021-05-211-30/+125
|
* Implement Runtime for a thin wrapper around tokio runtime handlesNick Mathewson2021-05-201-10/+46
| | | | | Having this enables us to use Arti with an externally constructed tokio runtime.
* Add the "unreachable_pub" lint.Nick Mathewson2021-05-181-0/+1
| | | | | | This is a somewhat obnoxious change in its scope and requirements, but it makes it easier to understand what the real public and private parts of our APIs are.
* Add trait_duplication_in_bounds warning.Nick Mathewson2021-05-031-0/+1
|
* Add unseparated_literal_suffix lint, and fix it.Nick Mathewson2021-05-031-0/+1
|
* Add a few more clippy warningsNick Mathewson2021-05-031-0/+5
|
* Split mocking parts of rtcompat into new rtmock crate.Nick Mathewson2021-05-031-1/+0
| | | | | Since these parts are testing-only, let's take steps to make sure we don't ship them in production by accident.
* Add some more clippy warnings to our list.Nick Mathewson2021-04-271-1/+6
|
* Enforce (and obey) clippy lints about exhaustive enums, structs.Nick Mathewson2021-04-271-0/+3
| | | | | | | | These lints force us to declare our exported enums and exhaustive-looking structs as non-exhaustive (so that we can add to them in the future without breaking our API) or to explicitly disable the warning for a given enum/struct (to say that we _intend_ for additions to be a breaking change).
* tor_rtcompat: add a yield_now() function.Nick Mathewson2021-04-211-0/+2
|
* Add support for simulating the passage of time.Nick Mathewson2021-04-191-0/+1
|
* Simple unit tests for tor_rtcompat: at last!Nick Mathewson2021-04-191-0/+3
|
* tor_rtcompat: Documentation and cleanupsNick Mathewson2021-04-171-4/+59
|
* Remove the no-longer-needed "global runtime" code.Nick Mathewson2021-04-171-43/+34
|
* Move timer functions into an extension trait.Nick Mathewson2021-04-171-112/+3
|
* Move around the public modules in tor_rtcompat.Nick Mathewson2021-04-171-1/+8
|
* Remove all non-runtime methods in tor_rtcompat.Nick Mathewson2021-04-161-32/+5
|
* Add a "Runtime" parameter to all the manager types.Nick Mathewson2021-04-161-2/+10
| | | | | This is a big change, but it is a step towards our goal of removing tor_rtcompat:: calls directly.
* rtcompat: Make TLS functionality use Runtime traits.Nick Mathewson2021-04-161-37/+3
| | | | | Now there is nothing in principle that you couldn't access from a Runtime implementation.
* Move the "sleep()" function from task to timer.Nick Mathewson2021-04-161-9/+7
|
* Make incoming Streams of TcpStream a real type for each backend.Nick Mathewson2021-04-161-39/+1
| | | | | This makes things a little more complicated for AsyncStd, and a little simpler for Tokio.
* Port tor_rtcompat::net to use Runtime objects.Nick Mathewson2021-04-161-1/+41
|
* Port tor_rtcompat::timer to use Runtime objects.Nick Mathewson2021-04-161-2/+57
|
* Begin a refactoring of tor-rtcompat to use runtime objects.Nick Mathewson2021-04-161-3/+38
| | | | | | | | So far, all traits are defined (I hope) and the task api is ported. With time I want to have none of the current "global runtime" APIs exposed, and just use Runtime objects instead. But that isn't just yet.
* rtcompat: rename traits module to impl_traits.Nick Mathewson2021-04-161-1/+1
|
* Move responsibility for knowing about TLS into tor_rtcompat.Nick Mathewson2021-03-231-0/+31
| | | | Now we don't need runtime-specific stuff in tor-chanmgr.
* Update docs wrt tokio a bitNick Mathewson2021-03-021-5/+16
|
* Port to work with tokio or async-std.Nick Mathewson2021-03-021-1/+19
| | | | | | | | | | | | | | | | | | This is fairly ugly and I think I'll need to mess around with the feature configuration a while until we get something that's pleasant to develop with. This still seems like a good idea, though, since we _will_ need to be executor-agnostic in the end, or we'll have no way to handle wasm or embedded environments. Later down the road, we'll probably want to use futures::Executor or futures::Spawn more than having global entry points in tor_rtcompat. That would probably make our feature story simpler. Tokio is the default now, since tokio seems to be more heavily used for performance-critical stuff. This patch breaks tests; the next one will fix them, albeit questionably.
* Write a few misc unit testsNick Mathewson2020-12-151-6/+35
|
* rtcompat: add a function to sleep until a given wallclock timeNick Mathewson2020-12-041-1/+36
| | | | | (We can't just subtract and sleep, since we should be at least somewhat concerned about clock jumps.)
* Require documentation in tor-rtcompat.Nick Mathewson2020-11-201-11/+15
|
* Document tor-rtcompat crate a littleNick Mathewson2020-11-111-2/+11
|
* Isolate async_std usage in a new tor_rtcompat crate.Nick Mathewson2020-11-111-0/+6
Like tor_llcrypto, this crate is meant to expose only the part of other crates (in this case, a async runtime crate) that we use.