summaryrefslogtreecommitdiff
path: root/crates/arti/src/rpc
Commit message (Collapse)AuthorAgeFilesLines
* rpcserver: Wrap InvokeError as internal errorNick Mathewson2024-10-171-3/+10
| | | | | | | | | I'm about to remove HasKind from InvokeError, which would otherwise break this code. These errors are all in fact internal errors, since in this context they can only stem from incorrectly formed calls to `invoke_special_method`.
* rpc: clarify documentation and fix typosNick Mathewson2024-10-021-1/+3
| | | | Based on review from @opara.
* Revise RPC documentation to be more informative.Nick Mathewson2024-10-022-5/+17
| | | | | | 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: add mandatory delegate-type attribute to Object templateNick Mathewson2024-09-241-1/+4
| | | | | | | When specifying a delegation, the template user must also say what type they're delegating to. We're going to use this to document and expose delegations.
* rpc: Fix argument type for rpc_session_get_rpc_proxy_infoNick Mathewson2024-09-111-1/+1
| | | | | | | Without this, we get a panic on startup when running with RPC! (This stresses the need for an integration test for RPC; I will start writing that after the Python wrapper lands.)
* arti/rpclib: Tweak proxy_info format.Nick Mathewson2024-09-092-2/+4
| | | | | | | Renamed address to tcp_address, and made it optional, so that later we can have a unix_path, etc. On deser side, add support for unrecognized listener types.
* arti/rpclib: Lowercase our socks5 listener variant.Nick Mathewson2024-09-091-0/+1
|
* arti: add and document get_rpc_proxy_info method.Nick Mathewson2024-09-091-2/+38
| | | | | | | | Currently this behaves the same as get_proxy_info, but this may change in the future, if we introduce RPC-unsuitable proxy ports. (Also rename the get_proxy_info method to avoid x_ prefix.)
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* rpc: Use MockRuntime for set_proxy_info test.Nick Mathewson2024-08-281-2/+2
|
* rpc: Add a test for setting proxy info.Nick Mathewson2024-08-282-0/+43
|
* rpc: Rename E::SenderDroppedNick Mathewson2024-08-281-5/+6
|
* rpc: Try another incantation for watching for ProxyInfo.Nick Mathewson2024-08-281-13/+7
|
* rpc: Add another layer of indirection on proxyinfoNick Mathewson2024-08-282-3/+12
|
* rpc: Try using postage::watch to initialize ProxyInfo.Nick Mathewson2024-08-282-25/+70
| | | | | (This is a bit trickier than I would like, but it ensures that we never return a "not initialized yet" code.)
* RPC: Add experimental method to list SOCKS proxies.Nick Mathewson2024-08-282-5/+103
| | | | | | | We'll need this for our rpc-library code to meaningfully open SOCKS connections. Closes #1523.
* arti: Define a new ArtiRpcSession type.Nick Mathewson2024-08-281-0/+69
| | | | | | | This type exists in the `arti` crate. It wraps and delegates to `arti_rpcserver::RpcSession`. Subsequent commits will use it to expose information from the `arti` crate to the RPC system; right now it does nothing.
* RPC: Use RPC methods instead of the "ClientConnectionTarget" trait.Nick Mathewson2024-06-111-0/+105
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