如何使用flatbuffer架构重写protobuf scheam?

时间:2015-09-24 11:09:31

标签: protocol-buffers flatbuffers

例如,这是protobuf架构代码,我想用flatbuffer架构重写它们?代码是什么样的?

    message Xx {
    required uint32 id = 1;
    optional string name = 2;
    message Yy {
        optional string name = 1;
    }
    repeated Yy y = 3;
}
谢谢你我的兄弟。

1 个答案:

答案 0 :(得分:7)

FlatBuffers内置.proto翻译,尝试flatc --proto myschema.proto,您将获得相应的.fbs文件。

在您的情况下,您有嵌套的消息定义,FlatBuffers不支持。因此,首先更改您的.proto message Yy移到message Xx之外。还给它一个包名。你会得到:

table Yy {
  name:string;
}

table Xx {
  id:uint (required);
  name:string;
  y:[Yy];
}

编辑:FlatBuffers现在支持翻译甚至嵌套的.proto定义。