aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-rpc-client-core/src/conn/builder.rs
Commit message (Collapse)AuthorAgeFilesLines
* multiple crates: Fix clippy warningshjrgrn2026-07-101-1/+1
|
* rpc: Rename nb_stream.rs → ll_conn.rsNick Mathewson2026-03-251-3/+3
| | | | | Since we are no longer calling these types "streams" I've decided to revert to the old name for this module.
* rpc: Rename PollingStream → BlockingConnection.Nick Mathewson2026-03-251-2/+2
|
* Fix typosTobias Stoeckmann2026-03-241-1/+1
| | | | Typos found with codespell
* rpc-client: add support to prefer/require su permissionNick Mathewson2026-03-161-2/+56
|
* Merge branch 'nonblocking-rpc-part3' into 'main'Nick Mathewson2026-03-051-1/+32
|\ | | | | | | | | rpc: API for event-driven IO. See merge request tpo/core/arti!3652
| * rpc: Usage documentation for polling APIIan Jackson2026-03-051-2/+7
| |
| * rpc: Fix many long lines in docs and commentsIan Jackson2026-03-051-1/+2
| |
| * rpc: Change Waker implementation to EventLoop.Nick Mathewson2026-03-051-9/+6
| | | | | | | | | | | | | | | | | | | | | | Per discussion, it makes more sense to have the API be one that gets called when our IO interests change. Additionally, this commit removes the try_reading and try_writing booleans, as previously discussed. I've left a couple of XXXX comments where more documentation or thought is likely needed.
| * rpc: API for event-driven IO.Nick Mathewson2026-03-051-1/+29
| | | | | | | | | | | | | | This API provides the necessary functionality to use an RpcConn inside a poll-like event loop. This is part of #1856.
* | Add missing #[cfg(unix)] in arti-rpc-client-core to fix Windows build.Alexander Hansen Færøy2026-02-281-0/+1
|/
* rpc: Replace llconn backend with nb_stream backend.Nick Mathewson2026-02-041-25/+20
| | | | All the tests still pass!
* rpc: Move responsibility for wrapping streams to rpc-client-coreNick Mathewson2026-02-041-6/+19
| | | | | This will be necessary since, in order to make the RPC stuff nonblocking, we'll need a better API than just `Box<dyn Read>` etc.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-3/+3
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* fix: fix typosDimitris Apostolou2025-01-301-2/+2
|
* rpclib: Rename ConnPtSource to ConnPtOrigin.Nick Mathewson2025-01-291-11/+11
|
* rpclib: Rename WithinDir.{expanded => file}.Nick Mathewson2025-01-291-3/+6
|
* rpclib: Move from_env_string_elt onto SearchLocation.Nick Mathewson2025-01-291-4/+6
|
* rpclib: Implement accessors for ConnectFailureNick Mathewson2025-01-291-1/+1
|
* rpclib: Implement Display for ConnPtDescriptionNick Mathewson2025-01-291-4/+51
|
* rpclib: New combined error type for RPC connect failures.Nick Mathewson2025-01-291-9/+25
| | | | | This type explains where every error came from, and explains why each declined connect point was declined.
* rpclib: Pipe connect-point locations through our loading process.Nick Mathewson2025-01-291-22/+77
|
* rpclib: Keep track of where each SearchEntry comes from.Nick Mathewson2025-01-291-24/+91
| | | | Subsequent commits will pipe this information forward to our errors.
* rpclib: Rename params/reply structs for consistency.Nick Mathewson2025-01-211-2/+3
| | | | | | | | Our now convention here in rpclib is that a struct holding a request's parameters is called `FooParams`, and a struct holding that request's reply is called `FooReply`. Closes #1586
* Merge branch 'rpc-connect-clarify' into 'main'Nick Mathewson2025-01-161-11/+41
|\ | | | | | | | | | | | | rpc: Clarify and fix some issues surrounding relative paths. Closes #1748 and #1749 See merge request tpo/core/arti!2712
| * rpc: Ignore non-absolute paths if they are default.Nick Mathewson2025-01-151-11/+41
| |
* | rpc: Refactor Cookie and UnloadedCookie into a single type.Nick Mathewson2025-01-151-8/+1
| |
* | rpc: consolodate naming of "inherent" auth.Nick Mathewson2025-01-151-1/+1
| | | | | | | | | | | | | | | | | | We don't want to call this "unix path" anywhere, since it corresponds to _any_ case where the ability to negotiate a successful connection means that the client is authorized. We also don't want to call it "none": The authentication is inherent to the connection, not nonexistent.
* | arti-rpc-client-core: Client side of cookie authentication.Nick Mathewson2025-01-151-7/+15
|/
* Implement banner for RPC protocol.Nick Mathewson2025-01-091-6/+28
| | | | Closes #1753
* rpc-client: Reject relative paths.Nick Mathewson2024-12-091-0/+3
|
* rpc-client: split paths better on windows.Nick Mathewson2024-12-091-1/+12
|
* rpc-client: Add TODOs about links to connect point docsNick Mathewson2024-12-091-0/+6
|
* rpc-client: Rename PathEntry to SearchEntry.Nick Mathewson2024-12-091-18/+18
|
* rpc-client: Clarity and consistency in envvar docsNick Mathewson2024-12-091-10/+20
|
* artilib: Revise C and Python APIs for builders.Nick Mathewson2024-12-091-1/+1
| | | | | | | | | | | | | | | Expose ArtiRpcConnBuilder and appropriate C wrapper functions in our FFI code, and wrap those functions in our python wrapper. This breaks the old C API, but that's allowed since the API is still experimental. Some design decisions: * I've wrapped the builder in a Mutex, so that we can continue our FFI rule that we do not require non-Rust code to wrap `&mut`. * I've removed the non-builder connect() function from the C API as extraneous. * I've made a single function to prepend elements to the search path.
* rpc-client: Initial implementation for RPC connect points.Nick Mathewson2024-12-091-54/+238
| | | | | | | | | This commit covers the major points of the design: Parsing the environment, parsing and resolving connect points, connecting to Arti, and handling errors. There are a few areas that need to be fixed, all marked with XXXXs.
* rpc-client: move Builder to its own module.Nick Mathewson2024-12-091-0/+87