feat(s2n-quic-platform): make GSO/GRO features readable at runtime #2062
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes:
Rather than having
#[cfg(...)]attributes everywhere for platform-specific code, this change moves all of those branches into thefeaturesmodule and exports a consistent interface, regarless if the platform supports the feature or not. This makes the rest of the code base much easier to reason about and check for correctness, since we're not branching at compile time. Since all of the feature values areconstthis should be equivalent to what we had before in terms of performance.Testing:
Since this is mostly just a refactor all of the existing tests should suffice in showing it's working as intended.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.