| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | memquota: Log a trace message when a claim fails | Ian Jackson | 2024-10-21 | 2 | -1/+9 | |
| | | | ||||||
| | * | memquota: Log a message at info on startup, if enabled | Ian Jackson | 2024-10-21 | 1 | -0/+3 | |
| | | | ||||||
| * | | Merge branch 'bug1531' into 'main' | Ian Jackson | 2024-10-21 | 5 | -16/+16 | |
| |\ \ | |/ |/| | | | | | | | | | Move crates to crates to slotmap-careful Closes #1531 See merge request tpo/core/arti!2530 | |||||
| | * | Convert a few crates to slotmap-careful | Neel Chauhan | 2024-10-17 | 5 | -16/+16 | |
| | | | ||||||
| * | | memquota: suppress clippy::single_match warning. | Nick Mathewson | 2024-10-17 | 1 | -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 Jackson | 2024-10-15 | 3 | -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 Jackson | 2024-10-15 | 1 | -1/+2 | |
| | | | ||||||
| | * | Introduce mpsc_channel_no_memquota and use it in the places it's wanted | Ian Jackson | 2024-10-15 | 3 | -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 Jackson | 2024-10-15 | 2 | -1/+2 | |
| | | | | | | | | | Fixes a TODO. | |||||
| * | | memquota: Provide a method Arc::<MemoryQuotaTracker>::new_noop() | Ian Jackson | 2024-10-15 | 1 | -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 Jackson | 2024-10-09 | 3 | -28/+13 | |
| |\ | | | | | | | | | | | | | memquota architecture documentation Closes #1660 See merge request tpo/core/arti!2509 | |||||
| | * | memquota: Further docs tweaks | Ian Jackson | 2024-10-09 | 1 | -2/+3 | |
| | | | ||||||
| | * | mq docs: Add some cross-references from tor-memquota to tor-proto | Ian Jackson | 2024-10-07 | 2 | -0/+8 | |
| | | | | | | | | | These can't be rustdoc links because they point up the crate hierarchy. | |||||
| | * | mq docs: Add a link | Ian Jackson | 2024-10-07 | 1 | -1/+1 | |
| | | | ||||||
| | * | mq docs: Move arti queues text to tor_proto::memquota | Ian Jackson | 2024-10-07 | 1 | -24/+0 | |
| | | | ||||||
| | * | mq docs: Uncomment docs about mq_queue, and remove the TODO | Ian Jackson | 2024-10-07 | 1 | -4/+4 | |
| | | | ||||||
| * | | tor-memquota: miri: disable tests that use coarsetime | Ian Jackson | 2024-10-08 | 3 | -3/+9 | |
| |/ | ||||||
| * | Merge branch 'mcost' into 'main' | Ian Jackson | 2024-10-02 | 4 | -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 Jackson | 2024-10-02 | 1 | -2/+2 | |
| | | | ||||||
| | * | tor-memquota: Replace MemoryCostStructuralCopy with assert_copy_static (fmt) | Ian Jackson | 2024-10-02 | 1 | -1/+1 | |
| | | | ||||||
| | * | tor-memquota: Replace MemoryCostStructuralCopy with assert_copy_static | Ian Jackson | 2024-10-02 | 2 | -23/+13 | |
| | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2459#note_3086841 | |||||
| | * | tor-memquota: Move and reword a comment | Ian Jackson | 2024-10-02 | 1 | -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 derive | Ian Jackson | 2024-10-02 | 1 | -0/+39 | |
| | | | ||||||
| | * | Abolish SIZE in favour of std::mem::size_of | Ian Jackson | 2024-10-02 | 2 | -22/+10 | |
| | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2459#note_3086837 | |||||
| | * | tor-memquota: Provide explicit "indirect size" feature in derive | Ian Jackson | 2024-10-02 | 1 | -0/+6 | |
| | | | ||||||
| | * | Use std::num::NonZeroFoo | Ian Jackson | 2024-10-02 | 1 | -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 toplevel | Ian Jackson | 2024-10-02 | 1 | -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 HasMemoryCost | Ian Jackson | 2024-10-02 | 3 | -0/+342 | |
| | | | ||||||
| | * | 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 | 2 | -14/+35 | |
| |\ | | | | | | | | | 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 | 2 | -14/+16 | |
| | | | | | | | | | | | | | | | | | | | | | 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 | |
| | | | ||||||
| * | | Upgrade to derive_more version 1.0.0 | Nick Mathewson | 2024-09-25 | 4 | -6/+5 | |
| |/ | | | | | | 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. | |||||
