Repository navigation
Expand file tree
/
Copy pathexample.proto
More file actions
101 lines (88 loc) · 2.61 KB
/
Copy pathexample.proto
File metadata and controls
101 lines (88 loc) · 2.61 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
// This is an example file
// Autogenerated by protodefgen
syntax = "proto3";
package example;
import "google/protobuf/empty.proto";
// This is an Enum with global scope
enum GlobalEnum {
// This is variant Z
VARIANT_Z = 0;
// This is variant A
VARIANT_A = 1;
// This is variant B
VARIANT_B = 2;
}
// This message contains basic types
message BasicType {
// This is required string field
string name = 1;
// This is optional numeric field
optional uint32 num = 2;
// This is optional enum field
optional GlobalEnum global_enum = 3;
}
// This message contains list types
message ListType {
// This is list of strings
repeated string names = 1;
// This is list of numbers
repeated uint32 num = 2;
// This is list of enums
repeated GlobalEnum global_enums = 3;
}
// This message contains complex types
message ComplexType {
// This is an Enum with message scope
enum NestedEnum {
// This is variant Z
VARIANT_Z = 0;
// This is variant A
VARIANT_A = 1;
// This is variant B
VARIANT_B = 2;
}
// This is a nested message
message NestedMessage {
// This is a double nested Enum with message scope
enum DoublyNestedEnum {
// This is variant Z
VARIANT_Z = 0;
// This is variant A
VARIANT_A = 1;
// This is variant B
VARIANT_B = 2;
}
// This is required string field
string name = 1;
// This is optional numeric field
optional uint32 num = 2;
// This is optional enum field
optional GlobalEnum global_enum = 3;
}
// This holds BasicType
BasicType basic = 1;
// This holds ListType
ListType list = 2;
// This holds NestedMessage
NestedMessage nested_message = 3;
// This holds NestedEnum
NestedEnum nested_enum = 4;
// This holds DoublyNestedEnum
NestedMessage.DoublyNestedEnum doubly_nested_enum = 5;
}
// This is a service exercising BasicType
service BasicService {
// Get BasicType
rpc GetBasic(google.protobuf.Empty) returns (BasicType);
// Push BasicType
rpc PushBasic(BasicType) returns (google.protobuf.Empty);
}
// This is a service exercising ComplexType
service ComplexService {
// RPC with streaming request
rpc StreamRequest(stream BasicType) returns (google.protobuf.Empty);
// RPC with streaming response
rpc StreamResponse(google.protobuf.Empty) returns (stream BasicType);
// RPC with bidirectional streaming
rpc StreamRequestResponse(stream BasicType) returns (stream ComplexType);
}