| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | tor-memquota: Provide facilities for deriving HasMemoryCost | Ian Jackson | 2024-10-02 | 4 | -1/+344 | |
| | | | ||||||
| | * | tor-memquota: Make EnabledToken constructors const | Ian Jackson | 2024-10-02 | 1 | -2/+2 | |
| | | | | | | | | | This will be convenient in some tests etc. | |||||
| * | | Merge branch 'misc' into 'main' | Ian Jackson | 2024-10-02 | 1 | -0/+5 | |
| |\ \ | |/ |/| | | | | | tor-proto: SometimesUnboundedSink: provide as_inner accessor See merge request tpo/core/arti!2483 | |||||
| | * | memquota: Note a TODO about overheads | Ian Jackson | 2024-10-02 | 1 | -0/+5 | |
| | | | ||||||
| * | | Merge branch 'close-channel-2' into 'main' | Nick Mathewson | 2024-10-02 | 1 | -1/+12 | |
| |\ \ | | | | | | | | | | | | | Provide and implement SinkCloseChannel See merge request tpo/core/arti!2485 | |||||
| | * | | tor-memquota: Implement SinkChannelClose for mq_queue | Ian Jackson | 2024-10-01 | 1 | -1/+12 | |
| | |/ | ||||||
| * | | tor-memquota: Test error handling paths in try_send impl | Ian Jackson | 2024-10-02 | 1 | -0/+54 | |
| | | | ||||||
| * | | tor-memquota: Prepare for SinkTrySend tests | Ian Jackson | 2024-10-02 | 1 | -3/+24 | |
| | | | | | | | | | | | | | Implement SinkTrySend for BustedSink. Implement SinkTrySendError for BustedError. Add an is_disconnected field (so we can test different error paths). | |||||
| * | | tor-memquota: Make BustedSink contain the BustedError to yield (fmt) | Ian Jackson | 2024-10-02 | 1 | -1/+3 | |
| | | | ||||||
| * | | tor-memquota: Make BustedSink contain the BustedError to yield | Ian Jackson | 2024-10-02 | 1 | -8/+14 | |
| |/ | | | | This will let us test different errors. | |||||
| * | tor-memquota: Implement SinkTrySend for mq_queue::Sender | Ian Jackson | 2024-10-01 | 2 | -1/+32 | |
| | | | | | Plumbing. | |||||
| * | tor-memquota: Provide TypedParticipation::try_claim_or_return | Ian Jackson | 2024-10-01 | 1 | -1/+24 | |
| | | | | | We're going to want this for try_send. | |||||
| * | Merge branch 'dyn-time' into 'main' | Ian Jackson | 2024-10-01 | 3 | -14/+36 | |
| |\ | | | | | | | | | Provide a type-erased SleepProvider + CoarseTimeProvider and use it for memquota queues See merge request tpo/core/arti!2460 | |||||
| | * | tor-memquota: mq_queue: Provide Sender::time_provider accessor | Ian Jackson | 2024-09-26 | 1 | -0/+14 | |
| | | | | | | | | | Nothing uses this yet, but we will do so. | |||||
| | * | tor-memquota: Erase the CoarseTimeProvider from mq_queue::Sender (fmt) | Ian Jackson | 2024-09-26 | 1 | -1/+6 | |
| | | | ||||||
| | * | tor-memquota: Erase the CoarseTimeProvider from mq_queue::Sender | Ian Jackson | 2024-09-26 | 3 | -14/+17 | |
| | | | | | | | | | | | | | | | | | | | | | Use tor_rtcompat::DynTimeProvider instead. Ultimately, we're going to want one of these in Channel etc. The CoarseTimeProvider generic argument then becomes pervasive. Instead, erase it. This will involve an indirect function call each time an item is inserted. I think that can't be helped. | |||||
| | * | tor-memquota: mq_queue: Take Account by reference | Ian Jackson | 2024-09-26 | 1 | -5/+5 | |
| | | | | | | | | | | | | | It doesn't need an owned value here. (clippy's note about this was defeated by this being a trait method.) | |||||
| * | | Merge branch 'misc' into 'main' | Ian Jackson | 2024-10-01 | 2 | -0/+38 | |
| |\ \ | | | | | | | | | | | | | Miscellaneous cleanups, mostly in tor-memquota See merge request tpo/core/arti!2461 | |||||
| | * | | tor-memquota: Clarify that mq isn't the accountholder | Ian Jackson | 2024-09-26 | 1 | -0/+4 | |
| | | | | ||||||
| | * | | tor-memquota: Provide Account::new_child | Ian Jackson | 2024-09-26 | 1 | -0/+15 | |
| | | | | ||||||
| | * | | tor-memquota: provide Account::new_noop | Ian Jackson | 2024-09-26 | 1 | -0/+7 | |
| | | | | | | | | | | | | | This will be useful in tests. | |||||
| | * | | tor-memquota: impl FusedStream for Receiver, where appropriate | Ian Jackson | 2024-09-26 | 1 | -0/+12 | |
| | | | | ||||||
| * | | | Bump arti- and tor- crates to 0.23.0 | Nick Mathewson | 2024-09-30 | 1 | -10/+10 | |
| | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | Per our policy, every one of these gets a minor bump. Generated with: ``` for crate in $(./maint/list_crates | grep '^\(tor\|arti\)-' ); do cargo set-version --bump minor -p $crate; done ``` (Note the use of `-` at the end end of the grep pattern to prevent matching the `arti` crate.) | |||||
| * | | Merge branch 'msrv-1.77-and-rusqlite-update' into 'main' | David Goulet | 2024-09-26 | 1 | -1/+1 | |
| |\ \ | | | | | | | | | | | | | Upgrade MSRV to 1.77 , and rusqlite to 0.32.1 See merge request tpo/core/arti!2451 | |||||
| | * | | Upgrade MSRV to 1.77 | Nick Mathewson | 2024-09-25 | 1 | -1/+1 | |
| | |/ | | | | | | | This will allow us to upgrade to the latest version of rusqlite. | |||||
| * / | Upgrade to derive_more version 1.0.0 | Nick Mathewson | 2024-09-25 | 5 | -7/+6 | |
| |/ | | | | | | The `derive_more` crate broke backward compatibility with this version, so this change involved quite a few manual fixups. With luck, they'll keep compatibility for some while in the future. | |||||
| * | Merge branch 'mq-tidy' into 'main' | David Goulet | 2024-09-17 | 7 | -5/+80 | |
| |\ | | | | | | | | | memquota: be more firm about avoiding panics, and tidy up docs See merge request tpo/core/arti!2404 | |||||
| | * | tor-memquota: queue plan: Add a cross-reference | Ian Jackson | 2024-09-10 | 1 | -0/+3 | |
| | | | ||||||
| | * | tor-memquota: queue plan: Clean up intent and make into a doc comment | Ian Jackson | 2024-09-10 | 1 | -32/+24 | |
| | | | | | | | | | Remove extraneous text, wrap it, and change to a more declarative style. | |||||
| | * | tor-memquota: queue plan: Copy from !1997 discussion | Ian Jackson | 2024-09-10 | 1 | -0/+32 | |
| | | | ||||||
| | * | tor-memquota: Worsify formatting to stop rustfmt making it even worse | Ian Jackson | 2024-09-10 | 1 | -1/+3 | |
| | | | ||||||
| | * | tor-memquota: Use clippy::arithmetic_side_effects, against panics | Ian Jackson | 2024-09-10 | 4 | -0/+12 | |
| | | | | | | | | | | | | | This detect possibly-panicking operations. Empirically this lint seems rather better now. | |||||
| | * | tor-memquota: Document that we're panic-free | Ian Jackson | 2024-09-10 | 1 | -0/+10 | |
| | | | ||||||
| | * | tor-memquota: Avoid a perhaps-impossible division-by-zero (fmt) | Ian Jackson | 2024-09-10 | 1 | -1/+5 | |
| | | | ||||||
| | * | tor-memquota: Avoid a perhaps-impossible division-by-zero | Ian Jackson | 2024-09-10 | 1 | -1/+3 | |
| | | | | | | | | | | | | | It is not locally obvious that n_particips can't be zero, here. Certainly if it *is* that would be state corruption, but I don't think I can quite rule it out in the presence of a bug somewhere else. | |||||
| | * | tor-memquota: Use a const to hoist a panic to compile-time | Ian Jackson | 2024-09-10 | 1 | -1/+3 | |
| | | | ||||||
| | * | tor-memquota: Use checked_sub .. expect in two places (fmt) | Ian Jackson | 2024-09-10 | 1 | -2/+6 | |
| | | | ||||||
| | * | tor-memquota: Use checked_sub .. expect in two places | Ian Jackson | 2024-09-10 | 1 | -2/+6 | |
| | | | | | | | | | | | In these two places, underflow is statically impossible, but demonstrating that to the compiler is probably too onerous. | |||||
| | * | tor-memquota: Move some information into the proper docs | Ian Jackson | 2024-09-10 | 1 | -0/+8 | |
| | | | | | | | | | | | This sentence is very important piece of overall explanation, but didn't make it into the crate level docs. | |||||
| * | | Bump MSRV from 1.70 to 1.75. | Wesley Aptekar-Cassels | 2024-09-16 | 1 | -1/+1 | |
| |/ | ||||||
| * | Fix typo in tor_memquota::ConfigBuilder doc | Ian Jackson | 2024-09-04 | 1 | -1/+1 | |
| | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2374#note_3070500 | |||||
| * | tor-memquota: Provide reconfigure method | Ian Jackson | 2024-09-04 | 2 | -1/+56 | |
| | | ||||||
| * | tor-memquota: Break out reclamation wakeup | Ian Jackson | 2024-09-04 | 1 | -1/+6 | |
| | | ||||||
| * | tor-memquota: Make reclamation wakeup no longer throw internal errors | Ian Jackson | 2024-09-04 | 2 | -5/+6 | |
| | | | | | I realised a way this could happen without there being a bug. | |||||
| * | tor-memquota: Unstable cargo feature for exposing info for testing | Ian Jackson | 2024-09-04 | 3 | -3/+26 | |
| | | ||||||
| * | tor-memquota: Rework optionality configuration | Ian Jackson | 2024-09-04 | 6 | -31/+86 | |
| | | | | | | | | | | | | | | | | | | | Allow a `Config` to represent "this is supposed to be disabled". This involves wrapping the actual built configuration in an IfEnabled. We treat max = usize::MAX, or max being unspecified, as "disable". We can now reporting an error during config building if max is set but we're compiling the feature out. Conversely, we can now make `MemoryQuotaTracker::new()` unconditional, since enabled confiogurations are uninhabited when the feature is compiled out. We change how we derive the setters, deriving them from the Builder. I chose to abolish the use of derive_builder. See the new comment on ConfigBuilder. | |||||
| * | tor-memquota: impl PartialEq for IfEnabled and EnabledToken | Ian Jackson | 2024-09-04 | 1 | -2/+4 | |
| | | ||||||
| * | tor-memquota: Add unit tests for config handling | Ian Jackson | 2024-09-04 | 2 | -0/+57 | |
| | | | | | | We're about to change the config behaviour; adding these tests first allows us to demonstrate the changes. | |||||
| * | Bump all the unstable tor- and arti- crates to 0.22.0. | Gabriela Moldovan | 2024-09-03 | 1 | -10/+10 | |
| | | | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.22.0 done ``` | |||||
| * | Fix formatting issues introduced by fixup-features. | Gabriela Moldovan | 2024-09-03 | 1 | -1/+8 | |
| | | ||||||
