一个协议的字段缓冲消息作为另一个协议缓冲消息中的字段

时间:2014-02-11 03:32:11

标签: nested buffer protocols message

我是Protocol Buffers的新手。我想知道如何将一个协议缓冲区消息的字段嵌套为另一个协议缓冲区消息中的字段。我能这样做吗?

例如,如果我有一个名为Employee的协议缓冲区消息,其中employeeId为字段, 经理说,我想将employeeId用作另一个协议消息中的字段。如何将员工消息的employeeId作为Manager消息中的字段?

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

如果我正确理解了问题,Protocol Buffers Language Guide会在嵌套类型下显示如何执行此操作。

我原本以为你的意思是这样的:

message Employee {
   optional string employeeId = 1;
}

message Manager {
   optional string employeeId = 1;
}

但我想知道你的意思是否更像这样:

message EmpId {
   optional string id = 1;
}

message Employee {
   optional EmpId employeeId = 1;
}

message Manager {
   optional EmpId employeeId = 1;
}

答案 1 :(得分:0)

非常感谢你的回答。我的意思更像是你的第二个代码片段。如果EmpId有多个字段,比如message EmpId { required string id = 1; required string name = 2; }我在Manager中访问EmpId.id的方式是一样的吗?我的意思是,我可以将Manager定义为message Manager { required EmpId employeeId = 1; required string managerId = 2; }这是正确的吗?