summaryrefslogtreecommitdiff
path: root/crates/tor-memquota/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* Migrate to waker noopdisha2025-09-222-2/+4
|
* Fix warnings and errors from edition 2024.Nick Mathewson2025-08-071-3/+2
| | | | | | | | | | The two main causes of errors were: - Since some of the lifetime rules have changed, we no longer need to do as many "bind a variable and immediately return it" patterns, and so clippy now warns about them. - We needed to adjust the explicit captures (`use<...>`) in a couple of our RPIT instances.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-073-7/+7
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* Fix errors from rustdoc nightly.Nick Mathewson2025-08-051-1/+1
|
* tor-memquota: moved auto calc into separate functionSteven Engler2025-07-311-49/+112
|
* tor-memquota: return an error when `total_available_memory()` failsSteven Engler2025-07-311-15/+29
|
* tor-memquota: small fmt change to log messageSteven Engler2025-07-311-1/+1
| | | | | | All other INFO log lines emitted when arti starts begin with an uppercase character, so this line looks out of place if it begins with a lowercase character.
* tor-memquota: change behaviour of "auto"Steven Engler2025-07-311-23/+180
| | | | | A `max` of "auto" (the default) now determines a limit based on the system's total available memory, rather than acting as "disabled".
* tor-memquota: config now supports `ExplicitOrAuto`Steven Engler2025-07-312-17/+57
| | | | | Note that this contains a breaking change to the `ConfigBuilder`. This should not break any existing toml configuration files.
* tor-memquota: add config test for `usize::MAX`Steven Engler2025-07-311-0/+4
|
* Merge branch 'nongenericnonzero' into 'main'Ian Jackson2025-07-101-2/+2
|\ | | | | | | | | tor-memquota: Replaced MSRV TODO with explanation as to why it is done this way See merge request tpo/core/arti!3067
| * tor-memquota: Replaced MSRV TODO with explanation as to why it is done this wayhashcatHitman2025-06-241-2/+2
| | | | | | | | | | | | | | | | | | - The TODO regarding replacing usage of qualified names with a generic NonZero<T> has been replaced with a link to an issue requesting clearer documentation for NonZero as to how this cannot be done, due to the perma- unstable type bound on T. Signed-off-by: hashcatHitman <[email protected]>
* | Typo fixes (automatic and hand-verified)Nick Mathewson2025-07-092-2/+2
| | | | | | | | Made with https://crates.io/crates/typos-cli
* | 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.