summaryrefslogtreecommitdiff
path: root/crates/arti-rpcserver/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* rpc: Improve error reporting for invalid requestsNick Mathewson2023-04-121-0/+1
| | | | | | | | | | | | | | | | This is a bit big, but it's not that _complicated_. The idea here is that we use serde's "untagged" enum facility when parsing our `Request`s, such that if parsing as a `Request` fails, we parse as an `InvalidRequest` and try to report what the problem was exactly. This lets us determine the ID of a request (if it had one), so we can report that ID in our error message. We can also recover from a much broader variety of errors. We now also conform with the spec reporting errors about completely wrong json, requests without IDs, and so on.
* rpc: Add standard warnings to arti-rpcserverNick Mathewson2023-04-121-3/+35
|
* RPC: add a temporary "listen" function.Nick Mathewson2023-04-121-0/+3
| | | | | It requires tokio, it's unix-only, and makes some unfortunate shortcuts. Probably good enough for initial testing.
* rpc: Add a Session object and an interaction loop.Nick Mathewson2023-04-121-0/+1
|
* rpc: Add asynchronous_codec wrapper for jsonlines.Nick Mathewson2023-04-121-0/+1
|
* rpc: Add a cancellable future type.Nick Mathewson2023-04-121-0/+1
| | | | | | Ordinarily you can cancel a future just by dropping it, but we'll want the ability to cancel futures that we no longer own (because we gave them to a `FuturesUnordered`).
* rpc: Implement json message types for serde.Nick Mathewson2023-04-121-0/+8