blob: e790cbf06d729e47cdb20682bfee2e09081fe646 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
// A series of messages with various kinds of cycles in them.
// +-+---+ +---+ +---+
// V | | V | V |
// A -> B-+-> C -> D---+--->E---+
// ^ |`---|--------^
// +----------+----+ F
syntax = "proto2";
message A {
optional B b = 1;
}
message B {
optional B b = 1;
optional C c = 2;
}
message C {
optional A a = 1;
optional B b = 2;
optional D d = 3;
optional E e = 4;
}
message D {
optional A a = 1;
optional D d = 2;
optional E e = 3;
}
message E {
optional E e = 1;
}
message F {
optional E e = 1;
}
// A proto with a bunch of simple primitives.
message SimplePrimitives {
optional fixed64 u64 = 1;
optional fixed32 u32 = 2;
optional double dbl = 3;
optional float flt = 5;
optional sint64 i64 = 6;
optional sint32 i32 = 7;
optional bool b = 8;
optional string str = 9;
oneof foo {
int32 oneof_int32 = 10;
string oneof_string = 11;
}
oneof bar {
int64 oneof_int64 = 13;
bytes oneof_bytes = 14;
}
message Nested {
oneof foo {
int32 oneof_int32 = 10;
string b = 11;
}
}
}
|