| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Run fixup-features in preparation for release. | Gabriela Moldovan | 2024-09-03 | 1 | -1/+1 | |
| | | ||||||
| * | 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: Make serde dependency optional in tor-basic-utils | Ian Jackson | 2024-08-27 | 1 | -1/+1 | |
| | | ||||||
| * | byte_qty: Move to tor-basic-utils | Ian Jackson | 2024-08-27 | 6 | -74/+6 | |
| | | | | | 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 | 4 | -51/+38 | |
| |\ | | | | | | | | | 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 | 3 | -41/+15 | |
| | | | ||||||
| * | | 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 | 6 | -6/+46 | |
| | | | | | | | | | | | | | | | 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. | |||||
| * | Bump versions for tor- and arti- crates to 0.21.0 | Nick Mathewson | 2024-08-01 | 1 | -8/+8 | |
| | | | | | | | | | | | This is the result of: ``` for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do cargo set-version -p $crate 0.21.0 done ``` | |||||
| * | 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 | 5 | -2/+377 | |
| | | | | | | | 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 | |||||
