| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | tor-memtrack: Remove dead code allows | Ian Jackson | 2024-04-23 | 1 | -2/+0 | |
| | | | ||||||
| * | | tor-memtrack: Provide comprehensive tests for the memory tracker | Ian Jackson | 2024-04-23 | 3 | -1/+681 | |
| | | | ||||||
| * | | tor-memtrack: reclaim: Implement reclamation | Ian Jackson | 2024-04-23 | 1 | -1/+378 | |
| | | | ||||||
| * | | tor-memtrack: reclaim: Provide helper deferred_drop module | Ian Jackson | 2024-04-23 | 2 | -0/+77 | |
| | | | ||||||
| * | | tor-memtrack: implement MemoryQuotaTracker | Ian Jackson | 2024-04-23 | 4 | -2/+1027 | |
| | | | | | | | | | | | | | Includes the principal data structures and their impls. Reclamation will come in a moment. | |||||
| * | | tor-memtrack: Provide helper bookkeeping module | Ian Jackson | 2024-04-23 | 2 | -0/+285 | |
| | | | ||||||
| * | | tor-memtrack: Provide helper drop_reentrancy module | Ian Jackson | 2024-04-23 | 3 | -0/+150 | |
| | | | ||||||
| * | | tor-memtrack: Provide helper refcounting module | Ian Jackson | 2024-04-23 | 3 | -0/+254 | |
| | | | ||||||
| * | | tor-memtrack: Provide Error types for use by our impls | Ian Jackson | 2024-04-23 | 4 | -3/+104 | |
| | | | ||||||
| * | | tor-memtrack: Introduce configuration | Ian Jackson | 2024-04-23 | 4 | -0/+124 | |
| | | | | | | | | | Nothing uses this yet. | |||||
| * | | tor-memtrack: Provide a couple of utilities | Ian Jackson | 2024-04-23 | 3 | -0/+71 | |
| | | | | | | | | | | | We'll use Qty for printing amounts of memory, and .take() for convenience in a lot of places. | |||||
| * | | tor-memtrack: Add dependencies and imports we're going to use | Ian Jackson | 2024-04-23 | 3 | -0/+78 | |
| | | | | | | | | | Establish the principal in-crate namespace. | |||||
| * | | memtrack docs: Minor clarifications, and IsParticipant | Ian Jackson | 2024-04-23 | 1 | -9/+9 | |
| | | | | | | | | | | | | | While writing the actual code, the distinction between Participation and `dyn Participant` and Participant (the abstract concept) was a bit confusing. Rename the trait, and clarify things a little. | |||||
| * | | memtrack docs: Wrap (whitespace changes, manual) | Ian Jackson | 2024-04-23 | 1 | -28/+74 | |
| | | | | | | | | | | | | | Use semantic newlines, not hugely long one-line paragraphs. (I think this file must originally have been a pad or a gitlab comment.) | |||||
| * | | memtrack docs: Move overview to lib.rs | Ian Jackson | 2024-04-23 | 1 | -0/+92 | |
| | | | ||||||
| * | | tor-memtrack: Introduce new crate (empty) | Ian Jackson | 2024-04-23 | 3 | -0/+72 | |
| | | | | | | | | | | | | | | | Put it just above tor-rpcbase, which maybe it would want to use for metrics export via RPC? For now we have some dead code `#[allow]`s. | |||||
| * | | tor-error: Add ErrorKind::LocalResourceExhausted | Ian Jackson | 2024-04-23 | 1 | -0/+6 | |
| | | | ||||||
| * | | Switch to figment 1.0.18 and extract_lossy | Nick Mathewson | 2024-04-22 | 3 | -4/+4 | |
| | | | | | | | | | | | | | | | The new (dubiously named) `Figment::extract_lossy` method can treat decode numbers from strings, and booleans from numbers or strings. This makes the behavior compatible with config-rs, and should (I hope) finally allow us to migrate. | |||||
| * | | Rename ConfigParseError => ConfigLoadError | Nick Mathewson | 2024-04-22 | 1 | -8/+15 | |
| | | | | | | | | | | | Figment can give an error under more conditions than just a parsing failure, so we should report it a bit more vaguely. | |||||
| * | | Add an action field to Io error in tor-config. | Nick Mathewson | 2024-04-22 | 2 | -15/+24 | |
| | | | ||||||
| * | | Convert tor-config to use figment. | Nick Mathewson | 2024-04-22 | 7 | -104/+138 | |
| |/ | | | | | There are probably ways to make this a bit more elegant, but at least the tests still pass. | |||||
| * | Merge branch 'rpc_method_syntax_redux' into 'main' | Nick Mathewson | 2024-04-22 | 7 | -397/+351 | |
| |\ | | | | | | | | | | | | | RPC: Even more cleanup on invocable functions. Closes #838 See merge request tpo/core/arti!2084 | |||||
| | * | rpc: add a comment from diziet to explain why we need same_decl | Nick Mathewson | 2024-04-22 | 1 | -0/+6 | |
| | | | ||||||
| | * | rpc: reformat macro slightly. | Nick Mathewson | 2024-04-22 | 1 | -2/+5 | |
| | | | ||||||
| | * | Rename Invoker trait to Invocable. | Nick Mathewson | 2024-04-22 | 1 | -15/+15 | |
| | | | ||||||
| | * | Fix rustdoc links. | Nick Mathewson | 2024-04-22 | 1 | -2/+2 | |
| | | | ||||||
| | * | Adjust an allow. | Nick Mathewson | 2024-04-22 | 1 | -1/+1 | |
| | | | ||||||
| | * | rpc:Sketch out the syntax of our remaining tricky macros | Nick Mathewson | 2024-04-22 | 1 | -2/+8 | |
| | | | ||||||
| | * | RPC: Remove installable_rpc_invoke_fn | Nick Mathewson | 2024-04-22 | 1 | -128/+68 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we've done more refactoring, it's no longer necessary to have this machinery, since: * We can support statically registering instantiated methods, if we know them ahead of time. * Writing an installer function is pretty simple, and the syntax is much nicer than the special-purpose junk we had before. I've added examples of both approaches. While we're at it, I've simplified the syntax for `invoker_ent!` a little, since the parentheses I had before aren't necessary. | |||||
| | * | RPC: Remove method and object type from macros. | Nick Mathewson | 2024-04-22 | 3 | -24/+22 | |
| | | | | | | | | | | | These are no longer needed, since they are inferred from the types of the functions. | |||||
| | * | rpc: Revise backend for dispatchable-object macro. | Nick Mathewson | 2024-04-22 | 5 | -260/+261 | |
| | | | | | | | | | | | | | | | | | | | The trick here is to provide an `Invoker` trait, with blanket implementations for appropriate `fn(_,_,_,_?) -> _`. With this trick, we no longer need to have a `decl_rpc_invoke_fn`. This lets us discard HasConstTypeId entirely, and will let us simplify some other syntax moving forward. | |||||
| * | | tor-guardmgr: Remove unnecessary VanguardSetsTrackedMut contraption (fmt). | Gabriela Moldovan | 2024-04-22 | 1 | -1/+2 | |
| | | | ||||||
| * | | tor-guardmgr: Remove unnecessary VanguardSetsTrackedMut contraption. | Gabriela Moldovan | 2024-04-22 | 2 | -177/+25 | |
| | | | | | | | | | | | | | | | | | The VanguardMgr now unconditionally flushes the vanguard sets to disk each time there's a consensus change, and every time a vanguard expires. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2090#note_3021013 | |||||
| * | | tor-guardmgr: Remove pick_{l2,l3}_relay, add l2(), l3() accessors (fmt). | Gabriela Moldovan | 2024-04-22 | 1 | -20/+19 | |
| | | | ||||||
| * | | tor-guardmgr: Remove pick_{l2,l3}_relay, add l2(), l3() accessors. | Gabriela Moldovan | 2024-04-22 | 2 | -27/+14 | |
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2090#note_3021016 | |||||
| * | | tor-guardmgr: Make vanguard logs begin with an uppercase letter for consistency. | Gabriela Moldovan | 2024-04-22 | 2 | -4/+4 | |
| | | | | | | | | | | | Our log messages begin with an uppercase letter in the rest of the code base. | |||||
| * | | tor-guardmgr: Add logging around vanguard rotation. | Gabriela Moldovan | 2024-04-22 | 2 | -3/+21 | |
| | | | ||||||
| * | | tor-guardmgr: Add a TODO about rethinking vanguard flushing. | Gabriela Moldovan | 2024-04-22 | 1 | -0/+14 | |
| | | | ||||||
| * | | tor-guardmgr: Rename VanguardMgr::handle_netdir_update for clarity (fmt). | Gabriela Moldovan | 2024-04-22 | 1 | -2/+1 | |
| | | | ||||||
| * | | tor-guardmgr: Rename VanguardMgr::handle_netdir_update for clarity. | Gabriela Moldovan | 2024-04-22 | 1 | -9/+6 | |
| | | | ||||||
| * | | tor-guardmgr: Test that vanguards are written to persistent storage. | Gabriela Moldovan | 2024-04-22 | 1 | -1/+137 | |
| | | | ||||||
| * | | tor-guardmgr: Derive PartialEq for VanguardSets. | Gabriela Moldovan | 2024-04-22 | 1 | -3/+3 | |
| | | | | | | | | | This will be useful for testing. | |||||
| * | | tor-guardmgr: Fix vanguard doc links. | Gabriela Moldovan | 2024-04-22 | 1 | -4/+4 | |
| | | | | | | | | | The referenced types are no longer available in `vanguards.rs`. | |||||
| * | | tor-guardmgr: Select an L3 vanguard in a vanguard test. | Gabriela Moldovan | 2024-04-22 | 1 | -4/+3 | |
| | | | ||||||
| * | | tor-guardmgr: Allow running VanguardMgr in "service mode" in the tests. | Gabriela Moldovan | 2024-04-22 | 1 | -7/+7 | |
| | | | | | | | | | We will soon use this to test full vanguards. | |||||
| * | | tor-guardmgr: Make VanguardSet private. | Gabriela Moldovan | 2024-04-22 | 1 | -18/+10 | |
| | | | | | | | | | | | | | This doesn't need to be `pub(super)` anymore, `VanguardMgr` now manipulates the `VanguardSets` exclusively through `VanguardSetsTrackedMut`. | |||||
| * | | tor-guardmgr: Load the vanguards from disk on startup. | Gabriela Moldovan | 2024-04-22 | 1 | -7/+26 | |
| | | | | | | | | | | | | | The `VanguardMgr` reads the vanguards from the vanguards state file, whether full vanguards are enabled or not. It only persists the vanguard sets to storage if full vanguards are in use. | |||||
| * | | tor-guardmgr: Flush the vanguard changes to disk (fmt). | Gabriela Moldovan | 2024-04-22 | 1 | -1/+2 | |
| | | | ||||||
| * | | tor-guardmgr: Flush the vanguard changes to disk. | Gabriela Moldovan | 2024-04-22 | 1 | -3/+8 | |
| | | | ||||||
| * | | tor-guardmgr: Implement VanguardMgr::flush_to_storage. | Gabriela Moldovan | 2024-04-22 | 1 | -10/+15 | |
| | | | ||||||
