-
Notifications
You must be signed in to change notification settings - Fork 0
Compiler: protobuf.proto
Al Beebe edited this page Nov 3, 2015
·
2 revisions
syntax = "proto3";
package protobuf;
message Enum {
repeated EnumField fields = 1;
}
message Extension {
optional string message = 1;
optional MessageField field = 2;
repeated Option options = 3;
}
message EnumField {
optional string name = 1;
optional int32 tag = 2;
}
message Map {
optional string key_type = 1;
optional string value_type = 2;
optional string field = 3;
optional int32 tag = 4;
}
message Message {
optional string name = 1;
repeated MessageField fields = 2;
repeated Oneof oneofs = 3;
repeated Map maps = 4;
repeated Option options = 5;
repeated Reserved reserved = 6;
repeated int32 extensions = 7;
}
message MessageField {
message Rule {
OPTIONAL = 0;
REPEATED = 1;
REQUIRED = 2;
}
optional Rule rule = 1;
optional string type = 2;
optional string name = 3;
optional int32 tag = 4;
repeated Option options = 5;
}
message Oneof {
optional string name = 1;
repeated MessageField fields = 2;
}
message Option {
optional string key = 1;
optional string value = 2;
}
message Reserved {
repeated int32 tags = 1;
repeated string names = 2;
}
message ProtoFile {
optional string syntax = 1;
optional string package = 2;
repeated Import imports = 3;
repeated Option options = 4;
repeated Enum enums = 5;
repeated Message messages = 6;
repeated Extension extends = 7;
repeated Service services = 8;
}
message RPC {
optional string method = 1;
optional string request = 2;
optional string response = 3;
}
message Service {
optional string name = 1;
optional RPC rpc = 2;
repeated Option options = 3;
}