felipecrv opened a new pull request, #43255:
URL: https://github.com/apache/arrow/pull/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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to