You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
…C calls (#43255)
### Rationale for this change
Flight should eventually be buildable without a specific protobuf version. As such, all the protobuf types are wrapped in hand-written classes. Uniformity of the interface is not enforced even though it's desirable. Extending the interface requires adding functions to every struct. A common base class can mitigates risks and reduce the amount of hand-written code.
### What changes are included in this PR?
- Definition of a BaseType<> template (a CRTP)
- Add constructors that aren't implicitly defined anymore
- Having a default value for some fields that would be undefined values otherwise
- Leverage this structure to add `SerializeToBuffer` to all the types
- ~30KiB in binary size reduction
### Are these changes tested?
By existing tests.
* GitHub Issue: #43258
Authored-by: Felipe Oliveira Carvalho <[email protected]>
Signed-off-by: Felipe Oliveira Carvalho <[email protected]>
Describe the enhancement requested
This will ensure the class interfaces on the types are consistent and layers that build on top of these can explore this regularity (like FlightSQL).
Component(s)
C++, FlightRPC
The text was updated successfully, but these errors were encountered: