[csharp][generichost] Added xml comments and restrict some access #22796
+1,056
−144
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.
@EraYaN please let me know if this causes an issue. Your pr created some warnings, and some of the public things I think can be protected internal.
C# GenericHost: Add XML documentation and refine access levels for token infrastructure
This PR adds comprehensive XML documentation to the token provider classes and refines access levels to properly restrict internal implementation details while supporting extensibility.
Changes
Added XML Documentation:
TokenBecameAvailableEventHandlerdelegate - documents the event handler signature for token availability notificationsTokenBecameAvailableevent - documents when and why the event is raisedTokenProvider<T>.GetAsync()- documents the token retrieval contract with parameter and return value descriptionsRateLimitProvider<T>.AvailableTokens- documents the internal token buffering dictionary and its purposeAccess Level Changes:
TokenProvider<T>.GetAsync(): Changed frompublic abstracttoprotected internal abstract- restricts direct external calls while allowing internal library infrastructure and derived implementationsRateLimitProvider<T>.AvailableTokens: Changed frompublictoprotected internal- hides implementation detail from external consumers while allowing derived classes to access itRateLimitProvider<T>.GetAsync(): Changed frompublic overridetoprotected internal override- matches the base class access level and restricts visibilityPR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)"fixes #123"present in the PR description)Summary by cubic
Added XML documentation to the C# GenericHost templates and tightened access on internal token APIs to improve IntelliSense and reduce accidental misuse.
Refactors
Migration
Written for commit bf90de6. Summary will update on new commits.