Skip to content

Conversation

@goatgoose
Copy link
Contributor

@goatgoose goatgoose commented Sep 2, 2025

Release Summary:

Resolved issues:

related to #2768

Description of changes:

s2n-events is currently structured as a package which implements event system code generation and defines a program which uses this implementation to generate the events systems for s2n-quic and s2n-quic-dc. This event generation program configures s2n-events with project specific stuff, such as input files, the output path, Ref/Mut mode, code insertions, etc. Eventually we'll want s2n-tls to provide its own configuration to s2n-events, separately from s2n-quic.

To support s2n-quic and s2n-tls separately generating their own events systems, this PR converts s2n-events into a library that exposes the parts of s2n-events that's needed to generate an events system. The s2n-quic event generation program is moved out of s2n-events and into a separate package that's owned by s2n-quic, which takes a dependency on the s2n-events library. This will allow s2n-tls to similarly take a dependency on s2n-events in an event generation program of its own.

Call-outs:

In the future, we might consider having s2n-events own more of the boilerplate code in the generate script (e.g. parsing, sorting, and validating the input files). We could also consider keeping s2n-events as program rather than a library, and specify s2n-quic/s2n-tls options separately via CLI options (#2780 (comment)).

However, I wasn't planning on having these improvements be in scope for this PR. For now, I just wanted to allow s2n-quic and s2n-tls to generate separate events systems by owning their own event generation programs, similar to the current one in s2n-events.

Testing:

The generate-events CI job was updated to point to the new events generation program. I confirmed that this job continues to error when the code generation is changed without committing the resulting changes:
https://github.com/aws/s2n-quic/actions/runs/17419054302/job/49453657153?pr=2789#step:6:1

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@goatgoose goatgoose marked this pull request as ready for review September 3, 2025 17:31
@goatgoose goatgoose merged commit d35c22f into aws:main Sep 9, 2025
122 of 123 checks passed
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

Successfully merging this pull request may close these issues.

3 participants