Adding support for 2D string arrays similar to 2D double arrays. #407
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
This PR is a follow on to #404 and adds built in support for 2D arrays of strings based on array.proto. With this change, authors of grpc services and clients of the service can utilize the built in type for 2D arrays of strings on the diagram without having to convert to/from the equivalent grpc message type that gets sent across the wire. Instead, the conversion is handled internally for the user.
Implementation / Design
C++:
wellknown::Types
enum and well known message classes into separate files. This avoided some circular dependencies in the header files and eliminates the need to forward declare types instead of including the header directly to break the cycle.GetInstance
method which is used instead of static methods.String2DArray
message class.wellknown::Types
enum and updating the code as appropriate.LV:
Well Known Types.ctl
Testing
I manually tested code generation of client and server and round tripping of data with the following proto file.
I also verified the following cluster packs/unpacks correctly.
Reviewers