Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support 3.9. Socket/Plug #10

Open
christian-bromann opened this issue May 5, 2023 · 0 comments
Open

Support 3.9. Socket/Plug #10

christian-bromann opened this issue May 5, 2023 · 0 comments

Comments

@christian-bromann
Copy link
Owner

christian-bromann commented May 5, 2023

See https://datatracker.ietf.org/doc/rfc8610/

3.9. Socket/Plug

For both type choices and group choices, a mechanism is defined that
facilitates starting out with empty choices and assembling them
later, potentially in separate files that are concatenated to build
the full specification.

Per convention, CDDL extension points are marked with a leading
dollar sign (types) or two leading dollar signs (groups). Tools
honor that convention by not raising an error if such a type or group
is not defined at all; the symbol is then taken to be an empty type
choice (group choice), i.e., no choice is available.

        tcp-header = {seq: uint, ack: uint, * $$tcp-option}

        ; later, in a different file

        $$tcp-option //= (
        sack: [+(left: uint, right: uint)]
        )

        ; and, maybe in another file

        $$tcp-option //= (
        sack-permitted: true
        )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant