如何定义有效载荷长度可变的* .proto文件?

时间:2018-07-09 18:32:41

标签: protocols protocol-buffers proto3

我尝试编写第一个* .proto文件。这是我的尝试:

syntax = "proto3";
package Message;

message Message {
    string name = 1;
    string serial = 2;
    int32 command = 3;

    enum Status {
        GOOD = 0;
        BAD = 1;
    }

    Status status = 4;
    int32 length = 5;

    // end of header
    // start of payload

    int32 data = 6;

    string address = 7;
}

标头具有字段长度。此值定义有效负载中数据字段的长度。那就是我的问题:数据字段是动态的,我现在不知道大小。 我可以将标头和有效负载拆分为2个单独的* .proto文件。但是那时候我仍然不知道如何动态设置其中一个字段的长度。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

协议缓冲区不允许检查字段之间的依赖关系。您必须自己检查length的长度是否与data匹配。