Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.5 KiB
71 lines
1.5 KiB
syntax = "proto2"; |
|
|
|
package protobuf_unittest_extra; |
|
|
|
option csharp_namespace = "Google.ProtocolBuffers.TestProtos"; |
|
option optimize_for = CODE_SIZE; |
|
option java_package = "com.google.protobuf"; |
|
|
|
message TestInteropPerson { |
|
required string name = 1; |
|
required int32 id = 2; |
|
optional string email = 3; |
|
repeated int32 codes = 10 [packed=true]; |
|
|
|
enum PhoneType { |
|
MOBILE = 0; |
|
HOME = 1; |
|
WORK = 2; |
|
} |
|
|
|
message PhoneNumber { |
|
required string number = 1; |
|
optional PhoneType type = 2 [default = HOME]; |
|
} |
|
|
|
repeated PhoneNumber phone = 4; |
|
|
|
repeated group Addresses = 5 { |
|
required string address = 1; |
|
optional string address2 = 2; |
|
required string city = 3; |
|
required string state = 4; |
|
required fixed32 zip = 5; |
|
} |
|
|
|
extensions 100 to 199; |
|
} |
|
|
|
message TestInteropEmployeeId { |
|
required string number = 1; |
|
} |
|
|
|
extend TestInteropPerson { |
|
// Note: changed from required to optional, as required fields are not |
|
// permitted in extensions. (The fact that this was allowed in protogen |
|
// before was almost certainly a bug.) |
|
optional TestInteropEmployeeId employee_id = 126; |
|
} |
|
|
|
message TestMissingFieldsA { |
|
required string name = 1; |
|
required int32 id = 2; |
|
optional string email = 3; |
|
|
|
message SubA { |
|
required int32 count = 5; |
|
repeated string values = 6; |
|
} |
|
optional SubA testA = 11; |
|
} |
|
|
|
message TestMissingFieldsB { |
|
required string name = 1; |
|
required int32 id = 2; |
|
optional string website = 4; |
|
|
|
message SubB { |
|
repeated string values = 7; |
|
} |
|
optional SubB testB = 12; |
|
}
|
|
|