(实际上)是否可以在不中断通信的情况下更改protobuf 消息类型(或枚举)的类型名称?
显然,需要修改使用代码才能重新编译。问题是使用相同结构但旧名称的旧客户端是否会继续工作?
示例,基于真实文件:
test.proto
:
syntax = "proto3";
package test;
// ...
message TestMsgA {
message TestMsgB { // should be called TestMsgZZZ going forward
// ...
enum TestMsgBEnum { // should be called TestMsgZZZEnum going forward
// ...
}
TestMsgBEnum foo = 1;
// ...
}
repeated TestMsgB bar = 1;
// ...
}
如果更改类型或枚举名称,protobuf 有效负载的在线格式是否会发生任何变化?