aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-netdoc: RelayFlags: Tidy up from_item for flagsIan Jackson2025-11-182-3/+5
|/ / | | | | | | | | | | | | | | Implement this on DocRelayFlags instead, since that's what it returns. And change the name to from_item_consensus to highlight its semantic restriction. (It's not generic over the implied flags, so it can only do one thing.)
* | tor-netdoc: Add an explanation about RelayFlags's PartialEqIan Jackson2025-11-181-0/+13
| |
* | tor-netdoc: Rename relay flags omitted/implicit const params (rustfmt)Ian Jackson2025-11-181-3/+9
| | | | | | | | Some of the new formatting is a bit unfortunate. Ah well.
* | tor-netdoc: Rename relay flags omitted/implicit const paramsIan Jackson2025-11-181-16/+16
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3454#note_3288967
* | tor-netdoc: semver.md updates for RelayFlags overhaulIan Jackson2025-11-181-0/+6
| |
* | tor-netdoc: Be able to retain unknown flagsIan Jackson2025-11-184-11/+25
| |
* | tor-netdoc: Introduce Unknown and retain_unknown_values optionIan Jackson2025-11-184-3/+143
| |
* | tor-netdoc: Add experimental retain-unknown featureIan Jackson2025-11-181-0/+4
| |
* | tor-netdoc: parse2: Introduce ParseOptions (fmt)Ian Jackson2025-11-181-1/+5
| |
* | tor-netdoc: parse2: Introduce ParseOptionsIan Jackson2025-11-183-8/+63
| | | | | | | | There are currently no options.
* | tor-netdoc: parse2: Introduce ParseInput intermediate structIan Jackson2025-11-187-26/+56
| | | | | | | | | | | | | | We're going to add options arguments, effectively, to the parsing entrypoints. To avoid a proliferation of entrypoints (eg, parse_multiple_with_options), encapsulate the run-time input values in this structure.
* | tor-netdoc: Remove the RelayFlags type alias in netstatusIan Jackson2025-11-181-3/+0
| | | | | | | | I would do `#[deprecated]` but empirically that has no effect...
* | tor-netdoc: Introduce DocRelayFlags for relay flags in a network documentIan Jackson2025-11-186-12/+39
| | | | | | | | This will have space for unknown flags.
* | tor-netdoc: Make the weird parser not be a FromStr implIan Jackson2025-11-181-11/+9
| | | | | | | | This is the minimal change to provide sanity.
* | tor-netdoc: Improve and expose RelayFlagsParserIan Jackson2025-11-181-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently the only exposed API for parsing RelayFlags is the FromStr impl which is very strange. I'm going to remove it. But there should be a replacement. So improve RelayFlagsParser: * Derive Debug and Clone. * Replace the `&'static str` error. * Make sure unknown `IMPLIED | IMPLICIT` is detected at compile time. * Make it pub.
* | tor-netdoc: Separate ConsensusRelayFlagsParser and VoteRelayFlagsParserIan Jackson2025-11-183-10/+31
| | | | | | | | | | Provide a per-variety alias and use it for parsing; no longer impl ItemValueParseable for RelayFlags.
* | tor-netdoc: Paramterise RelayFlagsParser for varying omitted/implied bitsIan Jackson2025-11-181-5/+28
| | | | | | | | Which bits are implied/omitted depends on the document!
* | tor-netdoc: Introduce a RelayFlagsBits type aliasIan Jackson2025-11-181-1/+4
| |
* | tor-netdoc: Test RelayFlags coherence and encodingIan Jackson2025-11-181-0/+41
| |
* | tor-netdoc: Provide for encoding RelayFlagsIan Jackson2025-11-181-1/+22
| | | | | | | | The API is a bit clumsy, but we're mostly going to use it internally.
* | tor-netdoc: RelayFlags: add a macro for keyword parsingIan Jackson2025-11-181-19/+43
| |
* | tor-netdoc: Rename RelayFlags elements for regularity vs specIan Jackson2025-11-183-7/+7
| | | | | | | | | | Add underscores so that the spec keywords and the flag constants correspond (according to `paste`'s case-changing rules).
* | tor-netdoc: Improve docs for RelayFlagsIan Jackson2025-11-181-1/+10
| | | | | | | | | | | | | | * Document the bizarre FromStr impl. That isn't in my way, so I don't intend to fix it. So I've documented it instead. * Mention the naming discrepancy.
* | tor-netdoc: Move RelayFlags into its own moduleIan Jackson2025-11-183-161/+185
| | | | | | | | | | We're going to do a lot more with this and it's less confusing to have it all together.
* | Merge branch 'p2-dedup' into 'main'Ian Jackson2025-11-111-123/+139
|\ \ | | | | | | | | | | | | tor-netdoc: parse2 More deduplication of the derive macro See merge request tpo/core/arti!3455
| * | tor-netdoc: parse2: Improve error message when using with=Ian Jackson2025-11-101-1/+1
| | | | | | | | | | | | | | | This can result in "trait not implemented" errors here. Use the `${paste_spanned}` trick.
| * | tor-netdoc: parse2 derive: deduplicate completionIan Jackson2025-11-101-35/+33
| | |
| * | tor-netdoc: parse2 derive: deduplicate item accumulationIan Jackson2025-11-101-31/+35
| | |
| * | tor-netdoc: parse2 derive: deduplicate item accumulation (prep)Ian Jackson2025-11-101-43/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move what is now IF_NONSTRUCTURAL_ACCUMULATE into the common module. It's not yet suitable for reuse. The docs for ACCUMULATE_ITEM_VALUE are still wrong. We'll fix that in a moment.
| * | tor-netdoc: parse2 derive: Provide dtrace in NetdocParseableFieldsIan Jackson2025-11-101-12/+21
| | | | | | | | | | | | | | | | | | This was previously only not done because of the need to c&p. Also, we're going to be expanding some common macros that will use it.
| * | tor-netdoc: parse2 derive: Get rid of $ITEM workaroundIan Jackson2025-11-101-10/+4
| | | | | | | | | | | | The hygiene is fixed in derive-deftly 1.5.x.
* | | Apply deferred rustfmt churnIan Jackson2025-11-103-4/+4
| | |
* | | tor-netdoc: Introduce "encode" feature for the like-named moduleIan Jackson2025-11-104-5/+10
| | | | | | | | | | | | | | | | | | | | | We're going to introduce facilities for encoding more generally, and we'll want a way to enable them. Instead, have a separate feature for *encoding* documents.
* | | tor-netdoc: Rename the `build` module to `encode`Ian Jackson2025-11-105-8/+8
|/ / | | | | | | | | The word "build" so often in Rust means builder pattern. This module contains functions for encoding.
* | Merge branch 'p2-dedup-1' into 'main'Ian Jackson2025-11-102-136/+146
|\ \ | | | | | | | | | | | | tor-netdoc: parse2 derive: Some deduplication See merge request tpo/core/arti!3450
| * | tor-netdoc: Fix typoIan Jackson2025-11-101-1/+1
| | |
| * | tor-netdoc: parse2 derive: deduplicate item parsingIan Jackson2025-11-061-24/+23
| | |
| * | tor-netdoc: parse2 derive: deduplicate item set selectorsIan Jackson2025-11-061-47/+62
| | |
| * | tor-netdoc: parse2 derive: deduplicate F_EFFECTIVE_TYPEIan Jackson2025-11-061-24/+13
| | |
| * | tor-netdoc: parse2 derive: deduplication: field types and keywordsIan Jackson2025-11-061-36/+39
| | | | | | | | | | | | | | | | | | | | | Have the module expect the use site to determine (mostly) the field kind. Document this expectation. Now NetdocParseableCommon can have the keyword-related definitions.
| * | tor-netdoc: parse2 derive: deduplication: start a moduleIan Jackson2025-11-062-9/+13
| | | | | | | | | | | | Put one textually-identical define in it, to start with.
* | | Bump derive-deftly to 1.5.0Ian Jackson2025-11-071-1/+1
|/ / | | | | | | | | | | | | This has the meta attributes with optional values feature and also hygiene rework for modules. The breaking changes don't break arti.
* | Merge branch 'deftly-1.4' into 'main'opara2025-11-061-1/+1
|\ \ | | | | | | | | | | | | Bump derive-deftly to 1.4.0 See merge request tpo/core/arti!3448
| * | Bump derive-deftly to 1.4.0Ian Jackson2025-11-061-1/+1
| |/ | | | | | | | | | | This will let us use the new modules feature. There are no breaking changes to beta features in 1.4.0.
* | Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-0631-32/+32
| | | | | | | | Run maint/add_warning
* | Use a while let loop (to placate clippy)Ian Jackson2025-11-061-2/+1
|/
* maint: remove all semver.md filesSteven Engler2025-10-301-25/+0
|
* maint: bump minor versions of all published cratesSteven Engler2025-10-291-13/+13
| | | | | | | ```bash readarray -t publish < <(cargo metadata --format-version 1 | jq -r '.packages[] | select((.id | startswith("path+file:///")) and (.rust_version != null) and (.publish == null or .publish == true or .publish != [])) | .name') for package in "${publish[@]}"; do echo "$package:"; cargo set-version --bump minor -p "$package"; done ```
* tor-netdoc: impl ItemArgumentParseable for IgnoredIan Jackson2025-10-232-2/+11
| | | | Change our mind about the logic for encoding an Ignored.
* tor-netdoc: Abolish ArgumentNotPresent alias, completing the renameIan Jackson2025-10-233-9/+6
|