| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix typos | Dimitris Apostolou | 2024-09-03 | 6 | -15/+15 |
| | | |||||
| * | Move stream_peek into tor-async-utils | Jim Newsome | 2024-08-29 | 3 | -514/+3 |
| | | |||||
| * | Expose StreamUnobtrusivePeeker::as_raw_inner_pin_mut | Jim Newsome | 2024-08-27 | 1 | -1/+1 |
| | | |||||
| * | Remove NoopWaker; use futures::task::noop_waker_ref instead | Jim Newsome | 2024-08-27 | 4 | -21/+5 |
| | | |||||
| * | byte_qty: Move to tor-basic-utils | Ian Jackson | 2024-08-27 | 5 | -74/+5 |
| | | | | | Code motion of byte_qty.rs, and minimal necessary supporting changes. | ||||
| * | byte_qty: Rename Qty to ByteQty and make it pub | Ian Jackson | 2024-08-27 | 2 | -8/+12 |
| | | | | | | | | We're going to make this into a proper public type. It's going to move into a different crate, where there's no prelude, so give it a bespoke set of imports too. | ||||
| * | byte_qty: Move Qty into its own module, byte_qty. | Ian Jackson | 2024-08-27 | 4 | -57/+68 |
| | | | | | | | | Code motion, part 1. Also explain in comments at the top of the new module why we are doing this at all rather than using an existing thing. | ||||
| * | tor-memquota: Move the macro-containing modules earlier in the lib.rs | Ian Jackson | 2024-08-27 | 1 | -2/+3 |
| | | | | | | | This makes more sense than having them alphabetical. Noticed while I was working on moving other code. | ||||
| * | Merge branch 'peekable-poll-set' into 'main' | Jim Newsome | 2024-08-21 | 3 | -51/+37 |
| |\ | | | | | | | | | Add and use `PeekableStream` and `UnobtrusivePeekableStream` See merge request tpo/core/arti!2345 | ||||
| | * | Expose stream_peek | Jim Newsome | 2024-08-21 | 2 | -6/+18 |
| | | | |||||
| | * | PeekFuture: implement for all PeekableStream | Jim Newsome | 2024-08-21 | 1 | -5/+6 |
| | | | |||||
| | * | StreamUnobtrusivePeeker: implement PeekableStream and UnobtrusivePeekableStream | Jim Newsome | 2024-08-21 | 2 | -41/+14 |
| | | | |||||
| * | | tor-memquota: IfEnabled: Complete a thought in a comment | Ian Jackson | 2024-08-21 | 1 | -1/+3 |
| | | | | | | | | | | | Reported at https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2351#note_3062292 | ||||
| * | | tor-memquota: Pass EnabledToken to HasMemoryCost method | Ian Jackson | 2024-08-19 | 2 | -17/+29 |
| | | | |||||
| * | | tor-memquota: Pass EnabledToken to IsParticipant methods | Ian Jackson | 2024-08-19 | 6 | -19/+22 |
| | | | | | | | | | | | | | | | This will hopefully allow much caller code to be compiled out. The users (IsParticipant impls) don't generally need to bother with it - they can just ignore it. | ||||
| * | | tor-memquota: Put EnabledToken in various structs, including the reclaimer | Ian Jackson | 2024-08-19 | 3 | -4/+26 |
| | | | |||||
| * | | tor-memquota: Allow memory tracking to be compiled out | Ian Jackson | 2024-08-19 | 5 | -6/+43 |
| | | | | | | | | | | | | | | | Now if we run doctests without the feature enabled, we test that a no-op MemoryQuotaTracker works. Those tests aren't currently run in CI, but they will be after !2350. | ||||
| * | | tor-memquota: Support a no-op MemoryQuotaTracker | Ian Jackson | 2024-08-19 | 4 | -51/+168 |
| | | | | | | | | | | | | | | | | | | | | | Wrap up most of the structures in IfEnabled. Sadly this diff is very noisy. I experimented with macros for the little enabled check at the start of each function but they didn't really help. We don't test this yet. We'll do a smoke test of this later. | ||||
| * | | tor-memquota: Introduce self_ variables in mtracker.rs (fmt) | Ian Jackson | 2024-08-19 | 1 | -1/+4 |
| | | | |||||
| * | | tor-memquota: Introduce self_ variables in mtracker.rs | Ian Jackson | 2024-08-19 | 1 | -48/+69 |
| | | | | | | | | | | | | | | | | | We're going to bind self_ to something more complicated, in each of these functions, and that's what all these field references etc. will need to refer to. Do this mechanical change first for clarity. | ||||
| * | | tor-memquota: Introduce IfEnabled and EnabledToken | Ian Jackson | 2024-08-19 | 3 | -0/+84 |
| | | | | | | | | | EnabledToken is pub because it's going to appear in public APIs. | ||||
| * | | tor-memquota: find_in_tracker: Allow internal use of non-unit errors | Ian Jackson | 2024-08-19 | 1 | -6/+6 |
| | | | |||||
| * | | tor-memquota: pre-apply rustfmt churn | Ian Jackson | 2024-08-19 | 2 | -4/+14 |
| |/ | | | | This will make some later diffs easier to read. | ||||
| * | tor-memquota: mq_queue: tests: Replace eprintln with debug | Ian Jackson | 2024-08-15 | 1 | -1/+1 |
| | | | | | We use `debug!` (tracing logging) everywhere else. Use it here too. | ||||
| * | tor-memquota: mq_queue: tests: fill_and_empty: check balance | Ian Jackson | 2024-08-15 | 1 | -0/+3 |
| | | |||||
| * | tor-memquota: mq_queue: tests: break out check_zero_claimed and fix bug | Ian Jackson | 2024-08-15 | 1 | -1/+17 |
| | | | | | | | | | | | | Each queue has two `Participation`s, not just one. This didn't matter in the `lifecycle` test, because one of the two Participations was never touched since it was cloned, and a fresh clone starts out with a cache of zero. But we're about to reuse this code in a context where both Participations end up with a cache. | ||||
| * | tor-memquota: mq_queue: impl Default for MpscUnboundedSpec | Ian Jackson | 2024-08-15 | 1 | -1/+1 |
| | | |||||
| * | tor-memquota: mq_queue: Provide `new` constructors for Specs | Ian Jackson | 2024-08-15 | 2 | -3/+8 |
| | | | | | | Discussed here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059928 | ||||
| * | tor-memquota: mq_queue: Fix doc for `MpscSpec` | Ian Jackson | 2024-08-15 | 1 | -2/+2 |
| | | | | | It's not a unit. It's `MpscUnboundedSpec` that's a unit | ||||
| * | tor-memquota: mq_queue: Rename Mpsc to MpscSpec | Ian Jackson | 2024-08-15 | 1 | -12/+12 |
| | | | | | | | | And MpscUnboundedSpec too. As discussed in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059516 | ||||
| * | tor-memquota: mq_queue: Add a caveat about faithfulness/accuracy | Ian Jackson | 2024-08-15 | 1 | -0/+14 |
| | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059543 | ||||
| * | tor-memquota: Rename mby test helper fn to mbytes | Ian Jackson | 2024-08-15 | 3 | -18/+18 |
| | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059520 | ||||
| * | tor-memquota: mq_queue: Call mpsc::Receiver::close in our rx Drop | Ian Jackson | 2024-08-15 | 1 | -0/+27 |
| | | | | | | Fixes the livelock possibility discussed here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059519 | ||||
| * | tor-memquota: StreamUnobtrusivePeeker: provide as_raw_inner_pin_mut | Ian Jackson | 2024-08-15 | 1 | -0/+11 |
| | | | | | | | | | This will let us call mpsc::Receiver::close. We have it take Pin, even though we don't really want that for our use case, because if you use StreamUnobtrusivePeeker with a non-Unpin stream you'll ant that. | ||||
| * | tor-memquota: mq_queue: Add fill_and_empty test | Ian Jackson | 2024-08-15 | 1 | -0/+23 |
| | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059518 | ||||
| * | tor-memquota: Add blank lines before fns except in tests | Ian Jackson | 2024-08-15 | 1 | -0/+6 |
| | | | | | | Requested by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2292#note_3059517 | ||||
| * | tor-memquota: Fix typos | Ian Jackson | 2024-08-15 | 2 | -5/+5 |
| | | |||||
| * | tor-memquota: Add mq_queue, memory-quota-tracking (MPSC) queue (tests) | Ian Jackson | 2024-08-15 | 1 | -0/+179 |
| | | |||||
| * | tor-memquota: Add mq_queue, memory-quota-tracking (MPSC) queue | Ian Jackson | 2024-08-15 | 5 | -5/+507 |
| | | |||||
| * | tor-memquota: Add a Sealed trait | Ian Jackson | 2024-08-15 | 2 | -0/+7 |
| | | | | | We'll use this in a moment. | ||||
| * | tor-memquota: Provide Participation::new_dangling and WeakAccount::new_dangling | Ian Jackson | 2024-08-15 | 1 | -0/+26 |
| | | | | | | We're going to want the one for Participation - it saves us an annoying Option. Let's provide the one for WeakAccount too. | ||||
| * | tor-memquota: discuss StreamUnobtrusivePeeker name | Ian Jackson | 2024-07-24 | 1 | -7/+8 |
| | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051134 | ||||
| * | tor-memquota: Elide a lifetime | Ian Jackson | 2024-07-24 | 1 | -1/+1 |
| | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051270 | ||||
| * | tor-memquota: Fix a wrong comment | Ian Jackson | 2024-07-24 | 1 | -3/+1 |
| | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2280#note_3051268 | ||||
| * | tor-memquota: Provide StreamUnobtrusivePeeker (tests) | Ian Jackson | 2024-07-24 | 1 | -0/+163 |
| | | |||||
| * | tor-memquota: Provide StreamUnobtrusivePeeker | Ian Jackson | 2024-07-24 | 4 | -2/+376 |
| | | | | | | | I'm not particularly pleased with this name. We need names for both the type, and the trait we'll almost certainly want to introduce in the future. | ||||
| * | Merge branch 'memquota-typed' into 'main' | Ian Jackson | 2024-07-24 | 6 | -38/+469 |
| |\ | | | | | | | | | tor-memquota: HasMemoryCost trait, and type-safe methods See merge request tpo/core/arti!2282 | ||||
| | * | tor-memquota: Test Debug, Display and HasKind impls for errors | Ian Jackson | 2024-07-24 | 1 | -0/+72 |
| | | | |||||
| | * | tor-memquota: impl HasKind for StartupError and ReclaimCrashed | Ian Jackson | 2024-07-24 | 1 | -0/+19 |
| | | | | | | | | | | | Trying to write comprehensive tests for the errors showed that these impls were missing. | ||||
| | * | tor-memquota: impl HasKind for ReclaimedErrorInner | Ian Jackson | 2024-07-24 | 1 | -1/+7 |
| | | | | | | | | | This will make testing easier. | ||||
