ServerOptions and ClientOptions use untyped dynamic options #319
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.
Fixes issue #316
Allow backwards compatibility when a new option is added
Every time a new server or client option is added, that would add a new property in the
ServerOptions
orClientOptions
struct, that is used from the generated code, forcing an upgrade on the runtime library even if the new option is not being used.Now, the generated code will read options with the generic method ReadOpt, for example:
Example with a new option
If in the future a new option is added, let's say "foobar", the newly generated code will still work with older versions of the runtime:
This generated code will work with older versions of the runtime, that still don't know about the option. The method
ReadOpt
will just returnfalse
, which the same if the option was not set by the user.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.