summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'rpcbase-cleanup' into 'main'Nick Mathewson2024-07-2517-294/+237
|\ \ | | | | | | | | | | | | rpcbase: Fix most TODO RPC comments. See merge request tpo/core/arti!2284
| * | rpc: Remove special conversion for SendUpdateError.Nick Mathewson2024-07-252-10/+6
| | |
| * | rpc: Rename the error codes for something like consistency.Nick Mathewson2024-07-256-24/+25
| | |
| * | rpc: Remove RpcError data field and use ReportNick Mathewson2024-07-257-128/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per discussion, this field isn't really specified in a way that lets us fill it sensibly at the moment. So for now, we're going to just omit it. Additionally, we said that we'd Report on our errors; this branch changes the implementation of RpcError to do that. Question: Will the blanket implementation for Into<RpcError> make it harder to re-add a Data field later on if we want to do so?
| * | rpc: Refactor errors part 1: a new RpcMethod trait.Nick Mathewson2024-07-259-56/+49
| | | | | | | | | | | | | | | It is no longer necessary to say, for every RPC method, that its error type is RpcError.
| * | rpcbase: remove now-unused invoke methodsNick Mathewson2024-07-252-71/+34
| | | | | | | | | | | | | | | | | | | | | These methods were defined on DispatchTable, and then replaced by top-level functions in the crate. (The reason for using top-level functions instead is so that we get the locking on the dispatch table correct.)
| * | rpcbase: Remove a TODO RPC about duplicationNick Mathewson2024-07-251-1/+0
| | | | | | | | | | | | | | | The duplication is only a few lines. I've looked into a couple of ways for removing it, but they make the code flow even less clear.
| * | rpcbase: Replace a TODO with a set of notes and caveatsNick Mathewson2024-07-252-7/+45
| | | | | | | | | | | | | | | | | | We have decided not to remove the "anybody can define methods" property. This commit documents the consequences, and warns extenders away from some really bad ideas.
| * | rpc: remove TODO about adding an extension traitNick Mathewson2024-07-251-4/+0
| | | | | | | | | | | | | | | These functions are called rarely enough that it is probably okay for the ergonomics to be a bit verbose.
| * | rpc: Remove TODO about moving @special to a different macro.Nick Mathewson2024-07-251-4/+0
| | |
| * | rpc: Do not hide InvokeError::Bug when converting to RpcErrorNick Mathewson2024-07-251-18/+35
| | |
| * | rpc: split "method not found"Nick Mathewson2024-07-254-12/+17
| | | | | | | | | | | | | | | We've wanted separate error codes for "no such method exists" and "this method exists, but this object doesn't have it."
| * | rpcbase: remove "Nil" TODO.Nick Mathewson2024-07-251-3/+0
| | | | | | | | | | | | This change would take some serde magic that is probably not worth it.
| * | rpcbase: Use newer "tgens" deftly syntaxNick Mathewson2024-07-251-3/+1
| | |
| * | rpcbase: remove a TODO about expose_outside_of_sessionNick Mathewson2024-07-251-4/+0
| | | | | | | | | | | | (There is no longer such a thing as a "pseudomethod.")
* | | Merge branch 'stream-peek' into 'main'Ian Jackson2024-07-246-2/+540
|\ \ \ | |/ / |/| | | | | | | | tor-memquota: Provide StreamUnobtrusivePeeker See merge request tpo/core/arti!2280
| * | tor-memquota: discuss StreamUnobtrusivePeeker nameIan Jackson2024-07-241-7/+8
| | | | | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051134
| * | tor-memquota: Elide a lifetimeIan Jackson2024-07-241-1/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051270
| * | tor-memquota: Fix a wrong commentIan Jackson2024-07-241-3/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051268
| * | tor-memquota: Provide StreamUnobtrusivePeeker (tests)Ian Jackson2024-07-241-0/+163
| | |
| * | tor-memquota: Provide StreamUnobtrusivePeekerIan Jackson2024-07-246-2/+378
|/ / | | | | | | | | | | I'm not particularly pleased with this name. We need names for both the type, and the trait we'll almost certainly want to introduce in the future.
* | Merge branch 'rpc-testing' into 'main'Nick Mathewson2024-07-247-11/+517
|\ \ | | | | | | | | | | | | rpclib: Add initial unit tests See merge request tpo/core/arti!2277
| * | rpclib: Add tests for errors that terminate an RpcConn.Nick Mathewson2024-07-241-1/+101
| | |
| * | rpclib: Initial tests for RpcConnNick Mathewson2024-07-246-4/+243
| | | | | | | | | | | | | | | | | | The "complex" test here is fairly involved, since it tries to detect deadlocks and race conditions by using multiple threads and answering requests out of order.
| * | rpclib: Test low-level reader/writer.Nick Mathewson2024-07-243-1/+166
| | |
| * | rpc: Relax 'static requirement on execute_with_updates closure.Nick Mathewson2024-07-241-1/+1
| | | | | | | | | | | | This turns out not to be necessary.
| * | rpclib: do not include `"meta":null` when serializing.Nick Mathewson2024-07-241-0/+1
| | |
| * | rpclib: re-encode outgoing requests.Nick Mathewson2024-07-241-5/+6
|/ / | | | | | | | | | | I hadn't been sure that we wanted to do this, since arti is forgiving about its inputs, but IIRC Diziet was in favor of this, and it _does_ make it easier to write tests.
* | Merge branch 'memquota-typed' into 'main'Ian Jackson2024-07-246-38/+469
|\ \ | | | | | | | | | | | | tor-memquota: HasMemoryCost trait, and type-safe methods See merge request tpo/core/arti!2282
| * | tor-memquota: Test Debug, Display and HasKind impls for errorsIan Jackson2024-07-241-0/+72
| | |
| * | tor-memquota: impl HasKind for StartupError and ReclaimCrashedIan Jackson2024-07-241-0/+19
| | | | | | | | | | | | | | | Trying to write comprehensive tests for the errors showed that these impls were missing.
| * | tor-memquota: impl HasKind for ReclaimedErrorInnerIan Jackson2024-07-241-1/+7
| | | | | | | | | | | | This will make testing easier.
| * | tor-memquota: Fix Display impl for Error::TrackerCorruptedIan Jackson2024-07-241-1/+1
| | | | | | | | | | | | | | | Bug found in review: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2282#note_3051101
| * | tor-memquota: memory_cost: Introduce try_claim (tests)Ian Jackson2024-07-241-0/+31
| | |
| * | tor-memquota: memory_cost: Introduce try_claimIan Jackson2024-07-241-0/+38
| | | | | | | | | | | | | | | Our stream wrapper is going to want this. It's fiddly enough that doing it as a standalone facility seems sensible.
| * | tor-memquota: memory_cost: New trait and typed wrappers (tests)Ian Jackson2024-07-241-0/+69
| | |
| * | tor-memquota: memory_cost: New trait and typed wrappersIan Jackson2024-07-243-0/+158
| | |
| * | tor-memquota: Expose some test utilities for the rest of the crateIan Jackson2024-07-242-5/+8
| | |
| * | tor-memquota: Improve register_participant_with (fmt)Ian Jackson2024-07-241-18/+24
| | |
| * | tor-memquota: Improve register_participant_withIan Jackson2024-07-242-13/+16
| | | | | | | | | | | | | | | Now the constructor is able to return other data to the caller, passing it through the mtracker machinery.
| * | tor-memquota: Add get_used_approx accessorIan Jackson2024-07-242-1/+15
| | | | | | | | | | | | | | | I just want this for a test right now, bui it seems like it would be good to expose it publicly.
| * | tor-memquota: Expose TrackerCorruptedIan Jackson2024-07-241-4/+16
| | | | | | | | | | | | | | | We're going to want this as the return value from an accessor function, which cannot fail for any other reason.
* | | Merge branch 'memquota-destroy-participant' into 'main'Ian Jackson2024-07-245-3/+73
|\ \ \ | |/ / |/| | | | | | | | tor-memquota: Provide destroy_participant See merge request tpo/core/arti!2281
| * | tor-memquota: destroy_participant: Clarify "no longer useable"Ian Jackson2024-07-241-1/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2281#note_3051105
| * | tor-memquota: Provide Participant::destroy_participantIan Jackson2024-07-243-0/+70
| | | | | | | | | | | | The stream wrapper is going to want this.
| * | tor-memquota: Correct a wrong commentIan Jackson2024-07-241-2/+1
| | | | | | | | | | | | | | | There is no `p_used` here; what we meant was the very same `ClaimedQty.`
| * | tor-memquota: Tidy up a minor formatting glitch in a doc commentIan Jackson2024-07-241-1/+1
|/ /
* | Merge branch 'explain-wfs' into 'main'Nick Mathewson2024-07-231-1/+7
|\ \ | |/ |/| | | | | Tweak documentation for wait_for_stop slightly. See merge request tpo/core/arti!2278
| * Tweak documentation for wait_for_stop slightly.Nick Mathewson2024-07-231-1/+7
|/
* Merge branch 'expose-annotated' into 'main'Nick Mathewson2024-07-221-0/+15
|\ | | | | | | | | | | | | tor-netdoc: Dangerously expose annotation fields Closes #1469 See merge request tpo/core/arti!2213