Skip to content

Make endpoint-rules blob internal and add C2J skip flag#3875

Open
sbiscigl wants to merge 2 commits into
mainfrom
skip-endpoint-rules-blob
Open

Make endpoint-rules blob internal and add C2J skip flag#3875
sbiscigl wants to merge 2 commits into
mainfrom
skip-endpoint-rules-blob

Conversation

@sbiscigl

Copy link
Copy Markdown
Collaborator

Description of changes:

Steps toward migrating endpoint resolution from the JSON ruleset to BDD bytecode. The JSON blob and its GetRulesBlob/RulesBlobSize accessors are an internal detail of the JSON representation we're replacing never meant to be public.

  • New --skip-endpoint-rules-blob flag (default off). When set, C2J omits the JSON blob body + GetRulesBlob() from EndpointRules.*. Threaded like the existing --skip-model-generation. Default-off = no change for services that don't opt in.
  • Stop exporting the blob symbols (always on). They were leaking into the dynamic symbol table on GCC/Clang via default visibility.

Check all that applies:

  • Did a review by yourself.
  • Added proper tests to cover this PR. (Codegen-template change; verified by generated-output inspection — flag off = blob emitted as before, flag on = absent. Existing EndpointProviderTests still exercise the provider.)
  • Checked if this PR is a breaking (APIs have been changed) change. Yes — see below.
  • Checked if this PR will not introduce cross-platform inconsistent behavior. (Reduces it: Linux/macOS now match Windows, which never exported these.)
  • Checked if this PR would require a ReadMe/Wiki update.

Breaking note: Removes GetRulesBlob/RulesBlobSize/RulesBlobStrLen from the exported ABI on Linux/macOS (accidentally exported; Windows never did). Normal client users unaffected. Only code that directly instantiates EndpointProvider must recompile.

Check which platforms you have built SDK on to verify the correctness of this PR.

  • Linux
  • Windows
  • Android
  • MacOS
  • IOS
  • Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@sbiscigl
sbiscigl force-pushed the skip-endpoint-rules-blob branch 3 times, most recently from f796c8f to 29f4279 Compare July 22, 2026 21:05
@sbiscigl
sbiscigl marked this pull request as ready for review July 22, 2026 21:06
@sbiscigl
sbiscigl force-pushed the skip-endpoint-rules-blob branch from 29f4279 to b918c53 Compare July 23, 2026 00:24
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.

1 participant