protobuf - 将消息移动到导入文件是否向后兼容

protobuf - Is it backward compatible to move message to imported file

假设我有流动消息:

message Inner { 
   string value = 1; 
}

message Outer {
   Inner inner = 1; 
} 

我想将内部移动到其他“通用”原型文件:

common.proto 
------------ 
package common;
message Inner { 
  string value = 1;  
}

outer.proto 
----------- 
import "common.proto";
message Outer {
  Inner common.Inner = 1; 
} 

我可以指望此更改是向后兼容的吗?消息的数据包格式是否具有相同的内存布局?还是PB的字符串格式会保持不变?

谢谢:)

你的意思是

common.Inner inner = 1;

但是无论如何,是的,它是向后兼容的,相同的内存布局,我不确定你所说的 PB 的字符串格式 是什么意思,但至少在 Java generated 类 和methods 的命名确实是一样的,只是需要从新包中引入。