aboutsummaryrefslogtreecommitdiff
path: root/tor-chanmgr/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Update docs wrt tokio a bitNick Mathewson2021-03-021-0/+3
|
* Make a few async_test tests work correctly again.Nick Mathewson2021-03-021-122/+131
| | | | | | For these, we need to call tor_rtcompat::task::block_on() directly, since they would crash with tokio enabled. Perhaps down the line we should look for a better fix here.
* Port to work with tokio or async-std.Nick Mathewson2021-03-022-14/+44
| | | | | | | | | | | | | | | | | | 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.
* Use anyhow::Context in tor-chanmgr.Nick Mathewson2020-12-112-3/+9
|
* It is an internal error if we do a TLS connection and get no cert.Nick Mathewson2020-12-081-3/+4
|
* Make RSAIdentity implement Copy.Nick Mathewson2020-12-081-1/+1
|
* De-parameterize ChanMgr and everything that wraps it.Nick Mathewson2020-12-082-40/+113
| | | | | | | | | | | | | | This makes a whole lot of our code simpler, and makes it so that CircMgr and DirMgr no longer need to have anything parameterized over transports, either. Instead of boxing Transport inside of ChanMgr, I've made a new Connection trait that goes from a ChanTarget* straight to a Channel. This lets us avoid having to box the intermediate TLS object. [*] Actually, a copy of the information from a ChanTarget. Ick, but I had to make a copy to avoid parameterizing Connecter::build_channel.
* Mark some XXXX issues as XXXX-A1.Nick Mathewson2020-12-071-1/+1
|
* Run cargo fix --edition-idiomsNick Mathewson2020-12-021-4/+4
|
* Refactor first-hop handling types a bitNick Mathewson2020-11-174-9/+18
| | | | | | This lets us have the notion of "get the first hop of a path as some kind of a chantarget", which will make it easier to write other path types.
* Turn the channel "closed" method into an AtomicBoolNick Mathewson2020-11-132-3/+3
| | | | This lets us make the test for closed channels non-async.
* Move a few immutable fields from ChannelImpl outside the lock.Nick Mathewson2020-11-132-6/+5
| | | | | Since these don't change while the channel is alive, we don't need the lock to protect them.
* Make the Arc-ness of channels more explicit.Nick Mathewson2020-11-122-24/+21
| | | | | | Previously every channel was a secret Arc<>, which I think is bad style, and which stopped us from using weak references in other places.
* tor-chanmgr: timeout support.Nick Mathewson2020-11-112-7/+21
|
* Isolate async_std usage in a new tor_rtcompat crate.Nick Mathewson2020-11-113-27/+13
| | | | | 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.
* Use anyhow in tor-circmgr and tor-chanmgrNick Mathewson2020-11-113-30/+11
|
* chanmgr: Make sure chanmgr can be shared among threadsNick Mathewson2020-11-041-14/+18
|
* Document tor-circmgrNick Mathewson2020-11-021-0/+1
|
* Add missing testing.rs fileNick Mathewson2020-10-301-0/+102
|
* Tests for tor-chanmgr.Nick Mathewson2020-10-301-6/+242
|
* chanmgr: don't return closing channels.Nick Mathewson2020-10-301-1/+11
|
* Implement a channel-manager type to get or launch channels on request.Nick Mathewson2020-10-304-0/+322