summaryrefslogtreecommitdiff
path: root/crates/tor-memquota/src
Commit message (Collapse)AuthorAgeFilesLines
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* Include "bug" in all bug error messagesNick Mathewson2025-04-281-1/+1
|
* tor-memquota: standardized MSRV TODOhashcatHitman2025-04-161-1/+2
| | | | | - Part of a series of commits aimed at replacing all MSRV-related TODOs with a standardized format, which should be easier to find when the MSRV is bumped.
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+1
| | | | - The Rng::gen() functions have been renamed to Rng::random().
* Upgrade to derive_more 2Nick Mathewson2025-02-261-2/+2
| | | | | This took a little refactoring, since derive_more::Foo no longer re-exports std::ops::Foo.
* Merge branch 'mod-module-files' into 'main'Nick Mathewson2025-01-071-0/+1
|\ | | | | | | | | clippy: deny `mod_module_files` See merge request tpo/core/arti!2689
| * clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | | | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* | fix: fix typosDimitris Apostolou2025-01-061-1/+1
|/
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* Merge branch 'mq-fix' into 'main'Ian Jackson2024-10-224-4/+28
|\ | | | | | | | | memquota: Fix account lifetime bugs, and arrange to test mq in shadow See merge request tpo/core/arti!2560
| * tor-memquota: Fix rustfmt-damaged indentationIan Jackson2024-10-221-5/+5
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097189
| * memquota: Fix error message stringsIan Jackson2024-10-211-2/+2
| | | | | | | | | | These errors aren't necessarily memory pressure. They can occur due to bugs, and during teardown.
| * memquota: In debug builds, reliably detect use of dropped AccountIan Jackson2024-10-211-0/+13
| | | | | | | | | | This detects the bugs I have just fixed - in Shadow tests with the feature enabled and a (large) limit set.
| * memquota: Fix a test not to rely on accessing cache with dead AccountIan Jackson2024-10-211-1/+1
| |
| * memquota: Log a trace message when a claim failsIan Jackson2024-10-212-1/+9
| |
| * memquota: Log a message at info on startup, if enabledIan Jackson2024-10-211-0/+3
| |
* | Merge branch 'bug1531' into 'main'Ian Jackson2024-10-215-16/+16
|\ \ | |/ |/| | | | | | | | | Move crates to crates to slotmap-careful Closes #1531 See merge request tpo/core/arti!2530
| * Convert a few crates to slotmap-carefulNeel Chauhan2024-10-175-16/+16
| |
* | memquota: suppress clippy::single_match warning.Nick Mathewson2024-10-171-0/+1
|/ | | | | "Suppress" rather than "fix": this pattern is intentional, and makes it clear that we're doing an exhaustive match.
* Merge branch 'mq-prevent' into 'main'Ian Jackson2024-10-153-2/+4
|\ | | | | | | | | | | | | Use clippy to prevent non-mq use of mpsc::channel Closes #1659 See merge request tpo/core/arti!2536
| * Introduce mpsc_channel_no_memquota and use it in the places it's wanted (fmt)Ian Jackson2024-10-151-1/+2
| |
| * Introduce mpsc_channel_no_memquota and use it in the places it's wantedIan Jackson2024-10-153-2/+3
| | | | | | | | | | These are the call sites where using this fucntion is correct. (Outside tor-rtmock, which we'll do separately.)
* | memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-152-1/+2
| | | | | | | | Fixes a TODO.
* | memquota: Provide a method Arc::<MemoryQuotaTracker>::new_noop()Ian Jackson2024-10-151-1/+15
|/ | | | | | | We'll need this to allow `ToplevelAccount::new_noop` (eg, in tests) when the type of ToplevelAccount changes. We have to do this via an extension trait.
* Merge branch 'mq-doc' into 'main'Ian Jackson2024-10-093-28/+13
|\ | | | | | | | | | | | | memquota architecture documentation Closes #1660 See merge request tpo/core/arti!2509
| * memquota: Further docs tweaksIan Jackson2024-10-091-2/+3
| |
| * mq docs: Add some cross-references from tor-memquota to tor-protoIan Jackson2024-10-072-0/+8
| | | | | | | | These can't be rustdoc links because they point up the crate hierarchy.
| * mq docs: Add a linkIan Jackson2024-10-071-1/+1
| |
| * mq docs: Move arti queues text to tor_proto::memquotaIan Jackson2024-10-071-24/+0
| |
| * mq docs: Uncomment docs about mq_queue, and remove the TODOIan Jackson2024-10-071-4/+4
| |
* | tor-memquota: miri: disable tests that use coarsetimeIan Jackson2024-10-083-3/+9
|/
* Merge branch 'mcost' into 'main'Ian Jackson2024-10-024-4/+372
|\ | | | | | | | | Implement tor_memquota:HasMemory cost for a lot of types See merge request tpo/core/arti!2459
| * tor-memquota: Fix more hard tabs.Ian Jackson2024-10-021-2/+2
| |
| * tor-memquota: Replace MemoryCostStructuralCopy with assert_copy_static (fmt)Ian Jackson2024-10-021-1/+1
| |
| * tor-memquota: Replace MemoryCostStructuralCopy with assert_copy_staticIan Jackson2024-10-022-23/+13
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2459#note_3086841
| * tor-memquota: Move and reword a commentIan Jackson2024-10-021-3/+5
| | | | | | | | | | | | This comment is more applicable to the memory_cost_structural_copyx macro than the wrapper type, especially since the wrapper type is going away.
| * tor-memquota: Add an example for HasMemoryCost deriveIan Jackson2024-10-021-0/+39
| |
| * Abolish SIZE in favour of std::mem::size_ofIan Jackson2024-10-022-22/+10
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2459#note_3086837
| * tor-memquota: Provide explicit "indirect size" feature in deriveIan Jackson2024-10-021-0/+6
| |
| * Use std::num::NonZeroFooIan Jackson2024-10-021-4/+5
| | | | | | | | | | | | | | Not the generic version which isn't supported in our MSRV. We may want to revert this in the future, so let's make it a separate commit.
| * tor-memquota: Export Account at the toplevelIan Jackson2024-10-021-1/+1
| | | | | | | | | | It turns out we're mostly going to want to deal in Accounts, not Arc<MemoryQuotaaTracker>s.
| * tor-memquota: Provide facilities for deriving HasMemoryCostIan Jackson2024-10-023-0/+342
| |
| * tor-memquota: Make EnabledToken constructors constIan Jackson2024-10-021-2/+2
| | | | | | | | This will be convenient in some tests etc.
* | Merge branch 'misc' into 'main'Ian Jackson2024-10-021-0/+5
|\ \ | |/ |/| | | | | tor-proto: SometimesUnboundedSink: provide as_inner accessor See merge request tpo/core/arti!2483
| * memquota: Note a TODO about overheadsIan Jackson2024-10-021-0/+5
| |
* | Merge branch 'close-channel-2' into 'main'Nick Mathewson2024-10-021-1/+12
|\ \ | | | | | | | | | | | | Provide and implement SinkCloseChannel See merge request tpo/core/arti!2485
| * | tor-memquota: Implement SinkChannelClose for mq_queueIan Jackson2024-10-011-1/+12
| |/
* | tor-memquota: Test error handling paths in try_send implIan Jackson2024-10-021-0/+54
| |
* | tor-memquota: Prepare for SinkTrySend testsIan Jackson2024-10-021-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 Jackson2024-10-021-1/+3
| |