apache / brpc

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".
https://brpc.apache.org
Apache License 2.0
16.56k stars 3.98k forks source link

Add NonreflectableMessage and support Protobuf v5 #2782

Closed wasphin closed 3 weeks ago

wasphin commented 1 month ago

See https://github.com/apache/brpc/pull/2722#issuecomment-2272559689 inspired by unreflectable_message of @oathdruid.

What problem does this PR solve?

Issue Number: #2757

Problem Summary:

隔离 Protobuf Message API,简化内部消息类型实现,简化后续 Protobuf 适配工作,支持 Protobuf 到 v5.28.0

What is changed and the side effects?

Changed:

Side effects:


Check List:

wasphin commented 3 weeks ago

ci 问题看和改动无关,暂时没有 bazel 测试环境,得晚几天再看看

wwbmmm commented 3 weeks ago

LGTM

oathdruid commented 3 weeks ago

ci 问题看和改动无关,暂时没有 bazel 测试环境,得晚几天再看看

看起来boost.uuid@1.83.0还是有点问题,PR预期boost.uuid@1.83.0.bcr.1能修复;我先给这个发布到babylon的registry了,应该能先跑起来;等bcr的merge进去可以无缝替换