summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | netdoc parse2: Fix Object handling (fmt)Ian Jackson2025-09-291-2/+4
| | | | | |
| * | | | | netdoc parse2: Fix Object handlingIan Jackson2025-09-297-42/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the standard multiplicity technique rather than the ad-hoc impl on Option. This allows us to support an ad-hoc parsing function for a field that's `Option`. Disentangle the `label` field attribute, which did both setting the label, and expecting a different parsing approach: replace it with `with`.
| * | | | | netdoc parse2: Fix label for PublicKeyIan Jackson2025-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mistake escaped because this wasn't actually checked by the code, but it's going to be checked in a moment.
| * | | | | netdoc parse2: Fix "rest" item arguments, and testIan Jackson2025-09-293-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code didn't compile at all, and this went unnoticed because it wasn't used by the poc.
| * | | | | netdoc parse2: Actually use ArgumentSetSelector, and testIan Jackson2025-09-293-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | Without this, parsing of Option and Vec argument fields doesn't work.
| * | | | | netdoc parse2: tests: Initial tests of ItemValueParseable macroIan Jackson2025-09-291-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This macro has some problems which I'm going to fix. Add a test case for the parts that are currently working.
| * | | | | netdoc parse2: Fix typo in todo commentIan Jackson2025-09-291-1/+1
| | | | | |
| * | | | | netdoc parse2: Don't duplicate the error sourceIan Jackson2025-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | `problem` is the `#[source]`.
| * | | | | netdoc parse2: Fix invalid keyword error problem reportIan Jackson2025-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | `#[from]` is not `#[source]`. We need to print the inner error.
| * | | | | netdoc parse2: tests: Better error messages from error tests (fmt)Ian Jackson2025-09-291-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | Worsify formatting as demanded by rustdoc.
| * | | | | netdoc parse2: tests: Better error messages from error testsIan Jackson2025-09-291-2/+2
| | | | | |
| * | | | | netdoc parse2: tests: Use ==== for dividers in outputIan Jackson2025-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise it's easy to get confuseed by ---- dividers for Objects.
| * | | | | netdoc parse2: poc: Make test functions throw anyhow::ResultIan Jackson2025-09-291-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | For reasons, TestResult doesn't print error sources.
| * | | | | netdoc parse2: Fix keyword parsing to hate nul, not digit zero (!)Ian Jackson2025-09-291-1/+1
| | | | | |
| * | | | | netdoc parse2: Use $P::Result throughoutIan Jackson2025-09-292-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed when using these macros in a namespace with a local redefinition of `Result`.
| * | | | | netdoc parse2: Fix a compile_error! invocationIan Jackson2025-09-291-1/+1
|/ / / / / | | | | | | | | | | | | | | | I triggered this error and it didn't work right.
* | | | | Merge branch 'sysinfo-no-default' into 'main'opara2025-09-281-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | remove default feature off sysinfo See merge request tpo/core/arti!3290
| * | | | | remove default feature off sysinfotrinity-1686a2025-09-281-1/+1
|/ / / / /
* | | | | Merge branch 'padding_edits' into 'main'Nick Mathewson2025-09-251-75/+249
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Clarifications and changes to padding doc See merge request tpo/core/arti!3276
| * | | | | Note replace difficultiesMike Perry2025-09-251-1/+3
| | | | | |
| * | | | | Note about framework consolidationMike Perry2025-09-251-0/+9
| | | | | |
| * | | | | Relocate framework section after intended usageMike Perry2025-09-251-8/+8
| | | | | |
| * | | | | Note about current replace flag implementationMike Perry2025-09-241-0/+8
| | | | | |
| * | | | | Clarify congestion control interactionsMike Perry2025-09-241-2/+13
| | | | | |
| * | | | | Clarify where latency defenses belongMike Perry2025-09-241-4/+8
| | | | | |
| * | | | | NN noteMike Perry2025-09-241-0/+3
| | | | | |
| * | | | | Add note about threat model scopeMike Perry2025-09-241-0/+11
| | | | | |
| * | | | | repeat that this document is current as of sept 2025Mike Perry2025-09-221-2/+2
| | | | | |
| * | | | | Clarifications and changes to padding docMike Perry2025-09-181-75/+201
| | | | | |
* | | | | | Merge branch 'poll-all-once' into 'main'gabi-2502025-09-258-198/+437
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto: Rewrite ConfluxSet::next_circ_action() using PollAll. Closes #2179 and #2180 See merge request tpo/core/arti!3279
| * | | | | proto: Replace magic value with constant (fmt).Gabriela Moldovan2025-09-251-1/+2
| | | | | |
| * | | | | proto: Replace magic value with constant.Gabriela Moldovan2025-09-251-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also derives `CIRC_ACTION_COUNT` from the two other constants instead of hard-coding the value.
| * | | | | proto: Use MAX_CONFLUX_LEGS instead of magic number.Gabriela Moldovan2025-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides, it's better if we use the same number for the expected number of legs as we do in the conflux set impl.
| * | | | | proto: Make padding and timeout actions take priority.Gabriela Moldovan2025-09-251-34/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites `next_circ_action()` yet again, using two layers of `PollAll`: * the inner layer drives an individual circuit leg. Each circuit has a `PollAll` that drives its futures * the outer layer drives the inner `PollAll`s belonging to the circuits that form the tunnel
| * | | | | proto: Add comment emphasizing that the PollAll ordering matters.Gabriela Moldovan2025-09-251-0/+7
| | | | | |
| * | | | | proto: Add comment explaining why we need the chan_sender readiness check.Gabriela Moldovan2025-09-251-0/+3
| | | | | |
| * | | | | proto: Document exactly how PollAll polls its futures.Gabriela Moldovan2025-09-251-1/+11
| | | | | |
| * | | | | proto: Resolve a couple of clippy warnings in the tests.Gabriela Moldovan2025-09-251-2/+2
| | | | | |
| * | | | | proto: Rewrite should_skip_join_point to return bool.Gabriela Moldovan2025-09-251-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't really need to return a `HopNum` anymore (because we work out the join point `HopNum` unconditionally in `next_circ_action`).
| * | | | | proto: Avoid polling join point streams more than once.Gabriela Moldovan2025-09-251-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we poll the ready streams on the join point more than once per reactor loop, we risk sending more than one DATA cell (which is not good, because cc might block after the first cell is sent).
| * | | | | proto: Remove now-unused function.Gabriela Moldovan2025-09-251-21/+2
| | | | | |
| * | | | | proto: Rewrite ConfluxSet::next_circ_action() using PollAll.Gabriela Moldovan2025-09-254-132/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes our usage of `FuturesUnordered` in `ConfluxSet::next_circ_action()` to address two issues: * a fairness issue, where the futures driven by `FuturesUnordered` could be starved under some circumstances (#2180) * a logic error, where we'd explicitly avoid reading from the input channel if the outgoing `chan_sender` channel was blocked (#2179) Note that the fixing the latter will cause the reactor to buffer more into the unbounded `chan_sender` sink, but that *should* be okay, because no input message should be able cause us to queue cells excessively. Closes #2179, #2180
| * | | | | proto: Expose CircHopList in ConfluxSet.Gabriela Moldovan2025-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will soon need to access this directly (rather than via a method on `Circuit`) to work around borrow checker limitations.
| * | | | | proto: Return multiple actions from next_circ_action (fmt).Gabriela Moldovan2025-09-251-47/+47
| | | | | |
| * | | | | proto: Return multiple actions from next_circ_action.Gabriela Moldovan2025-09-252-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #2180 Note: the code is intentionaly left misindented to make reviewing a bit easier. A future commit will fix the indentation.
| * | | | | proto: Add PollAll helper for driving futures in lockstep.Gabriela Moldovan2025-09-252-0/+196
| | | | | |
| * | | | | proto: Push conflux state checks inside handshake_timeout() (fmt).Gabriela Moldovan2025-09-251-6/+6
| | | | | |
| * | | | | proto: Push conflux state checks inside handshake_timeout().Gabriela Moldovan2025-09-254-10/+16
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies the calling code, which will, in turn, make it easier for us to simplify the logic in ConfluxSet::next_circ_action() and abolish the questionable use of FuturesUnordered.
* | | | | Merge branch 'expire-halfstream-cbt' into 'main'gabi-2502025-09-2415-47/+321
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto: Remove half-streams when they expire. Closes #264 See merge request tpo/core/arti!3267
| * | | | | proto: Temporarily ignore large_enum_variant clippy warning.Gabriela Moldovan2025-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | I want to tackle this separately, as part of #2003