summaryrefslogtreecommitdiff
path: root/crates/arti-client/src/rpc.rs
Commit message (Collapse)AuthorAgeFilesLines
* rpc: Correct API documentation about optimismNick Mathewson2025-01-301-4/+0
| | | | | | | | | | | Our documentation had dated to an older version of our RPC stream code, where all streams were automatically optimistic. But as explained, our use of "optimistic"ness in RPC stream code is now purely internal, to make it possible to get an DataStreamCtrl. This isn't user-visible in our rpc_conn_open_stream code. Closes #1583
* fix: fix typosDimitris Apostolou2025-01-061-1/+1
|
* RPC: Rename "arti:isolated_client" to "arti:new_isolated_client".Nick Mathewson2024-10-091-1/+1
| | | | Closes #1678.
* Revise RPC documentation to be more informative.Nick Mathewson2024-10-021-5/+16
| | | | | | Previous documentation was more-or-less meant for the Arti developer only. This new documentation is intended for actual users of RPC functionality. It's meant to be extracted with `maint/rpc-doc-tool`.
* rpc: Rename SingletonId to SingleIdResponseNick Mathewson2024-09-241-3/+3
| | | | | | | | | | Calling it "singleton" might have suggested that it was using the [singleton pattern](https://en.wikipedia.org/wiki/Singleton_pattern), which it isn't. (Renaming done with rust-analyzer and double-checked with `git grep`.) Closes #1585.
* Add a TODO RPC call about revising/moving documentationNick Mathewson2024-09-091-0/+6
|
* rpc: More specificity surrounding SOCKS-rpc integrationNick Mathewson2024-09-091-2/+24
|
* rpc: Refactor errors part 1: a new RpcMethod trait.Nick Mathewson2024-07-251-12/+6
| | | | | It is no longer necessary to say, for every RPC method, that its error type is RpcError.
* Several typo fixes from GabiNick Mathewson2024-06-111-3/+3
|
* RPC: Use RPC methods instead of the "ClientConnectionTarget" trait.Nick Mathewson2024-06-111-69/+109
| | | | | | | | | | | | On its own, this might not seem like a huge improvement, but it will later let us implement these RPC methods for types that can't reasonably implement ClientConnectionTarget. It also serves as a proof of concept that special-method invocation can actually work, so that we can build things like this in cases where introducing a trait isn't practical. Closes #1427
* rpc: Pass around our rpc::Context in an Arc.Nick Mathewson2024-06-101-3/+3
| | | | | | | | Formerly we used a Box. That was okay at first, but now that we want RPC methods to be able to invoke other RPC methods, we don't want the Invocable methods to have to consume the Context. This requires that Context become Sync.
* RPC: Require an Error type in methods.Nick Mathewson2024-05-161-0/+3
| | | | | | | | This is needed so that we can cast special methods' return types properly. I wish I could make this optional, but Rust doesn't allow defaulting an associated type.
* RPC: Use RPC method names in a consistent format.Nick Mathewson2024-05-141-3/+3
| | | | | Specifically, we want a single colon, and we want our method names to be in snake_case.
* RPC: Add notes about ClientConnectionTargetNick Mathewson2024-05-141-0/+7
| | | | | Document its relation to the method system, and possible future evolution.
* RPC: Require DynClone for ClientConnectionError.Nick Mathewson2024-05-141-3/+5
|
* RPC: Seal ClientConnectionError.Nick Mathewson2024-05-141-2/+19
|
* RPC: RpcDataStream type to act as a "stream-shaped hole"Nick Mathewson2024-05-141-0/+5
| | | | | | | | | The application creates these, using a new-stream-handle RPC command, on an object that can actually create streams. Then later, the application provides the (global) identity of one of these objects when it's making a SOCKS connection. This causes the object to take hold of a `DataStreamCtrl`.
* RPC: Add a trait that can be the target of SOCKS requestsNick Mathewson2024-05-121-3/+79
| | | | | | | | | | | | (These will later become objects that can receive any application request, once we have HTTP connect.) For now, Session and TorClient implement this trait; but soon there will be a new type to hold on to the created DataStreamCtrl. There are some XXXXs here, marking code that is too ugly to live. I should fix it before I merge this branch.
* rpc: Add an isolated-client method on TorClient.Nick Mathewson2024-05-091-2/+26
|
* Add requisite RPC method name prefixesNick Mathewson2024-05-061-2/+2
|
* TorClient: Slightly cleaner (?) interface for registering RPC methods.Nick Mathewson2024-05-061-4/+4
|
* Add a note about declaring get and watch functions.Nick Mathewson2024-05-061-0/+6
|
* Add a note about why the RPC functions aren't declared as methods.Nick Mathewson2024-05-061-0/+5
|
* RPC: Send "null" for blockage rather than omitting it.Nick Mathewson2024-05-061-2/+1
|
* Lightly simplify the syntax for installing multiple InvokerEntsNick Mathewson2024-05-061-2/+4
|
* RPC: Implement methods to get and watch client bootstrap status.Nick Mathewson2024-05-061-0/+103