protobuf 3.10.1 → 3.10.5

Sign up to get free protection for your applications and to get access to all the features.
data/proto/rpc.proto CHANGED
@@ -22,6 +22,8 @@
22
22
  //
23
23
  // Protobufs needed for socket rpcs.
24
24
 
25
+ syntax = "proto2";
26
+
25
27
  package protobuf.socketrpc;
26
28
 
27
29
  message Request
@@ -17,7 +17,7 @@ RSpec.describe 'code generation' do
17
17
  end
18
18
 
19
19
  expected_output =
20
- ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => expected_file_descriptors)
20
+ ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => expected_file_descriptors, :supported_features => 1)
21
21
 
22
22
  code_generator = ::Protobuf::CodeGenerator.new(bytes)
23
23
  code_generator.eval_unknown_extensions!
@@ -37,7 +37,7 @@ RSpec.describe 'code generation' do
37
37
  :name => file_name, :content => file_content)
38
38
 
39
39
  expected_response =
40
- ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => [expected_file_output])
40
+ ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => [expected_file_output], :supported_features => 1)
41
41
 
42
42
  code_generator = ::Protobuf::CodeGenerator.new(request.encode)
43
43
  code_generator.eval_unknown_extensions!
@@ -275,6 +275,41 @@ RSpec.describe ::Protobuf::CLI do
275
275
  end
276
276
  end
277
277
 
278
+ context 'after server bind' do
279
+ let(:sock_runner) { double("FakeRunner", :run => nil) }
280
+
281
+ before { allow(sock_runner).to receive(:run).and_yield }
282
+
283
+ it 'publishes when using the lib/protobuf callback' do
284
+ message_after_bind = false
285
+ ::Protobuf.after_server_bind do
286
+ message_after_bind = true
287
+ end
288
+ described_class.start(args)
289
+ expect(message_after_bind).to eq(true)
290
+ end
291
+ end
292
+
293
+ context 'before server bind' do
294
+ it 'publishes a message before the runner runs' do
295
+ message_before_bind = false
296
+ ::ActiveSupport::Notifications.subscribe('before_server_bind') do
297
+ message_before_bind = true
298
+ end
299
+ described_class.start(args)
300
+ expect(message_before_bind).to eq(true)
301
+ end
302
+
303
+ it 'publishes when using the lib/protobuf callback' do
304
+ message_before_bind = false
305
+ ::Protobuf.before_server_bind do
306
+ message_before_bind = true
307
+ end
308
+ described_class.start(args)
309
+ expect(message_before_bind).to eq(true)
310
+ end
311
+ end
312
+
278
313
  end
279
314
 
280
315
  end
@@ -23,7 +23,7 @@ RSpec.describe ::Protobuf::CodeGenerator do
23
23
  end
24
24
 
25
25
  let(:expected_response_bytes) do
26
- COMPILER::CodeGeneratorResponse.encode(:file => [output_file1, output_file2])
26
+ COMPILER::CodeGeneratorResponse.encode(:file => [output_file1, output_file2], :supported_features => 1)
27
27
  end
28
28
 
29
29
  before do
@@ -0,0 +1,360 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+
8
+ module Google
9
+ module Protobuf
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class FileDescriptorSet < ::Protobuf::Message; end
16
+ class FileDescriptorProto < ::Protobuf::Message; end
17
+ class DescriptorProto < ::Protobuf::Message
18
+ class ExtensionRange < ::Protobuf::Message; end
19
+ class ReservedRange < ::Protobuf::Message; end
20
+
21
+ end
22
+
23
+ class ExtensionRangeOptions < ::Protobuf::Message; end
24
+ class FieldDescriptorProto < ::Protobuf::Message
25
+ class Type < ::Protobuf::Enum
26
+ define :TYPE_DOUBLE, 1
27
+ define :TYPE_FLOAT, 2
28
+ define :TYPE_INT64, 3
29
+ define :TYPE_UINT64, 4
30
+ define :TYPE_INT32, 5
31
+ define :TYPE_FIXED64, 6
32
+ define :TYPE_FIXED32, 7
33
+ define :TYPE_BOOL, 8
34
+ define :TYPE_STRING, 9
35
+ define :TYPE_GROUP, 10
36
+ define :TYPE_MESSAGE, 11
37
+ define :TYPE_BYTES, 12
38
+ define :TYPE_UINT32, 13
39
+ define :TYPE_ENUM, 14
40
+ define :TYPE_SFIXED32, 15
41
+ define :TYPE_SFIXED64, 16
42
+ define :TYPE_SINT32, 17
43
+ define :TYPE_SINT64, 18
44
+ end
45
+
46
+ class Label < ::Protobuf::Enum
47
+ define :LABEL_OPTIONAL, 1
48
+ define :LABEL_REQUIRED, 2
49
+ define :LABEL_REPEATED, 3
50
+ end
51
+
52
+ end
53
+
54
+ class OneofDescriptorProto < ::Protobuf::Message; end
55
+ class EnumDescriptorProto < ::Protobuf::Message
56
+ class EnumReservedRange < ::Protobuf::Message; end
57
+
58
+ end
59
+
60
+ class EnumValueDescriptorProto < ::Protobuf::Message; end
61
+ class ServiceDescriptorProto < ::Protobuf::Message; end
62
+ class MethodDescriptorProto < ::Protobuf::Message; end
63
+ class FileOptions < ::Protobuf::Message
64
+ class OptimizeMode < ::Protobuf::Enum
65
+ define :SPEED, 1
66
+ define :CODE_SIZE, 2
67
+ define :LITE_RUNTIME, 3
68
+ end
69
+
70
+ end
71
+
72
+ class MessageOptions < ::Protobuf::Message; end
73
+ class FieldOptions < ::Protobuf::Message
74
+ class CType < ::Protobuf::Enum
75
+ define :STRING, 0
76
+ define :CORD, 1
77
+ define :STRING_PIECE, 2
78
+ end
79
+
80
+ class JSType < ::Protobuf::Enum
81
+ define :JS_NORMAL, 0
82
+ define :JS_STRING, 1
83
+ define :JS_NUMBER, 2
84
+ end
85
+
86
+ end
87
+
88
+ class OneofOptions < ::Protobuf::Message; end
89
+ class EnumOptions < ::Protobuf::Message; end
90
+ class EnumValueOptions < ::Protobuf::Message; end
91
+ class ServiceOptions < ::Protobuf::Message; end
92
+ class MethodOptions < ::Protobuf::Message
93
+ class IdempotencyLevel < ::Protobuf::Enum
94
+ define :IDEMPOTENCY_UNKNOWN, 0
95
+ define :NO_SIDE_EFFECTS, 1
96
+ define :IDEMPOTENT, 2
97
+ end
98
+
99
+ end
100
+
101
+ class UninterpretedOption < ::Protobuf::Message
102
+ class NamePart < ::Protobuf::Message; end
103
+
104
+ end
105
+
106
+ class SourceCodeInfo < ::Protobuf::Message
107
+ class Location < ::Protobuf::Message; end
108
+
109
+ end
110
+
111
+ class GeneratedCodeInfo < ::Protobuf::Message
112
+ class Annotation < ::Protobuf::Message; end
113
+
114
+ end
115
+
116
+
117
+
118
+ ##
119
+ # File Options
120
+ #
121
+ set_option :java_package, "com.google.protobuf"
122
+ set_option :java_outer_classname, "DescriptorProtos"
123
+ set_option :optimize_for, ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
124
+ set_option :go_package, "google.golang.org/protobuf/types/descriptorpb"
125
+ set_option :cc_enable_arenas, true
126
+ set_option :objc_class_prefix, "GPB"
127
+ set_option :csharp_namespace, "Google.Protobuf.Reflection"
128
+
129
+
130
+ ##
131
+ # Message Fields
132
+ #
133
+ class FileDescriptorSet
134
+ repeated ::Google::Protobuf::FileDescriptorProto, :file, 1
135
+ end
136
+
137
+ class FileDescriptorProto
138
+ optional :string, :name, 1
139
+ optional :string, :package, 2
140
+ repeated :string, :dependency, 3
141
+ repeated :int32, :public_dependency, 10
142
+ repeated :int32, :weak_dependency, 11
143
+ repeated ::Google::Protobuf::DescriptorProto, :message_type, 4
144
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 5
145
+ repeated ::Google::Protobuf::ServiceDescriptorProto, :service, 6
146
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 7
147
+ optional ::Google::Protobuf::FileOptions, :options, 8
148
+ optional ::Google::Protobuf::SourceCodeInfo, :source_code_info, 9
149
+ optional :string, :syntax, 12
150
+ end
151
+
152
+ class DescriptorProto
153
+ class ExtensionRange
154
+ optional :int32, :start, 1
155
+ optional :int32, :end, 2
156
+ optional ::Google::Protobuf::ExtensionRangeOptions, :options, 3
157
+ end
158
+
159
+ class ReservedRange
160
+ optional :int32, :start, 1
161
+ optional :int32, :end, 2
162
+ end
163
+
164
+ optional :string, :name, 1
165
+ repeated ::Google::Protobuf::FieldDescriptorProto, :field, 2
166
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 6
167
+ repeated ::Google::Protobuf::DescriptorProto, :nested_type, 3
168
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 4
169
+ repeated ::Google::Protobuf::DescriptorProto::ExtensionRange, :extension_range, 5
170
+ repeated ::Google::Protobuf::OneofDescriptorProto, :oneof_decl, 8
171
+ optional ::Google::Protobuf::MessageOptions, :options, 7
172
+ repeated ::Google::Protobuf::DescriptorProto::ReservedRange, :reserved_range, 9
173
+ repeated :string, :reserved_name, 10
174
+ end
175
+
176
+ class ExtensionRangeOptions
177
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
178
+ # Extension Fields
179
+ extensions 1000...536870912
180
+ end
181
+
182
+ class FieldDescriptorProto
183
+ optional :string, :name, 1
184
+ optional :int32, :number, 3
185
+ optional ::Google::Protobuf::FieldDescriptorProto::Label, :label, 4
186
+ optional ::Google::Protobuf::FieldDescriptorProto::Type, :type, 5
187
+ optional :string, :type_name, 6
188
+ optional :string, :extendee, 2
189
+ optional :string, :default_value, 7
190
+ optional :int32, :oneof_index, 9
191
+ optional :string, :json_name, 10
192
+ optional ::Google::Protobuf::FieldOptions, :options, 8
193
+ optional :bool, :proto3_optional, 17
194
+ end
195
+
196
+ class OneofDescriptorProto
197
+ optional :string, :name, 1
198
+ optional ::Google::Protobuf::OneofOptions, :options, 2
199
+ end
200
+
201
+ class EnumDescriptorProto
202
+ class EnumReservedRange
203
+ optional :int32, :start, 1
204
+ optional :int32, :end, 2
205
+ end
206
+
207
+ optional :string, :name, 1
208
+ repeated ::Google::Protobuf::EnumValueDescriptorProto, :value, 2
209
+ optional ::Google::Protobuf::EnumOptions, :options, 3
210
+ repeated ::Google::Protobuf::EnumDescriptorProto::EnumReservedRange, :reserved_range, 4
211
+ repeated :string, :reserved_name, 5
212
+ end
213
+
214
+ class EnumValueDescriptorProto
215
+ optional :string, :name, 1
216
+ optional :int32, :number, 2
217
+ optional ::Google::Protobuf::EnumValueOptions, :options, 3
218
+ end
219
+
220
+ class ServiceDescriptorProto
221
+ optional :string, :name, 1
222
+ repeated ::Google::Protobuf::MethodDescriptorProto, :method, 2
223
+ optional ::Google::Protobuf::ServiceOptions, :options, 3
224
+ end
225
+
226
+ class MethodDescriptorProto
227
+ optional :string, :name, 1
228
+ optional :string, :input_type, 2
229
+ optional :string, :output_type, 3
230
+ optional ::Google::Protobuf::MethodOptions, :options, 4
231
+ optional :bool, :client_streaming, 5, :default => false
232
+ optional :bool, :server_streaming, 6, :default => false
233
+ end
234
+
235
+ class FileOptions
236
+ optional :string, :java_package, 1
237
+ optional :string, :java_outer_classname, 8
238
+ optional :bool, :java_multiple_files, 10, :default => false
239
+ optional :bool, :java_generate_equals_and_hash, 20, :deprecated => true
240
+ optional :bool, :java_string_check_utf8, 27, :default => false
241
+ optional ::Google::Protobuf::FileOptions::OptimizeMode, :optimize_for, 9, :default => ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
242
+ optional :string, :go_package, 11
243
+ optional :bool, :cc_generic_services, 16, :default => false
244
+ optional :bool, :java_generic_services, 17, :default => false
245
+ optional :bool, :py_generic_services, 18, :default => false
246
+ optional :bool, :php_generic_services, 42, :default => false
247
+ optional :bool, :deprecated, 23, :default => false
248
+ optional :bool, :cc_enable_arenas, 31, :default => true
249
+ optional :string, :objc_class_prefix, 36
250
+ optional :string, :csharp_namespace, 37
251
+ optional :string, :swift_prefix, 39
252
+ optional :string, :php_class_prefix, 40
253
+ optional :string, :php_namespace, 41
254
+ optional :string, :php_metadata_namespace, 44
255
+ optional :string, :ruby_package, 45
256
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
257
+ # Extension Fields
258
+ extensions 1000...536870912
259
+ end
260
+
261
+ class MessageOptions
262
+ optional :bool, :message_set_wire_format, 1, :default => false
263
+ optional :bool, :no_standard_descriptor_accessor, 2, :default => false
264
+ optional :bool, :deprecated, 3, :default => false
265
+ optional :bool, :map_entry, 7
266
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
267
+ # Extension Fields
268
+ extensions 1000...536870912
269
+ end
270
+
271
+ class FieldOptions
272
+ optional ::Google::Protobuf::FieldOptions::CType, :ctype, 1, :default => ::Google::Protobuf::FieldOptions::CType::STRING
273
+ optional :bool, :packed, 2
274
+ optional ::Google::Protobuf::FieldOptions::JSType, :jstype, 6, :default => ::Google::Protobuf::FieldOptions::JSType::JS_NORMAL
275
+ optional :bool, :lazy, 5, :default => false
276
+ optional :bool, :deprecated, 3, :default => false
277
+ optional :bool, :weak, 10, :default => false
278
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
279
+ # Extension Fields
280
+ extensions 1000...536870912
281
+ end
282
+
283
+ class OneofOptions
284
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
285
+ # Extension Fields
286
+ extensions 1000...536870912
287
+ end
288
+
289
+ class EnumOptions
290
+ optional :bool, :allow_alias, 2
291
+ optional :bool, :deprecated, 3, :default => false
292
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
293
+ # Extension Fields
294
+ extensions 1000...536870912
295
+ end
296
+
297
+ class EnumValueOptions
298
+ optional :bool, :deprecated, 1, :default => false
299
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
300
+ # Extension Fields
301
+ extensions 1000...536870912
302
+ end
303
+
304
+ class ServiceOptions
305
+ optional :bool, :deprecated, 33, :default => false
306
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
307
+ # Extension Fields
308
+ extensions 1000...536870912
309
+ end
310
+
311
+ class MethodOptions
312
+ optional :bool, :deprecated, 33, :default => false
313
+ optional ::Google::Protobuf::MethodOptions::IdempotencyLevel, :idempotency_level, 34, :default => ::Google::Protobuf::MethodOptions::IdempotencyLevel::IDEMPOTENCY_UNKNOWN
314
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
315
+ # Extension Fields
316
+ extensions 1000...536870912
317
+ end
318
+
319
+ class UninterpretedOption
320
+ class NamePart
321
+ required :string, :name_part, 1
322
+ required :bool, :is_extension, 2
323
+ end
324
+
325
+ repeated ::Google::Protobuf::UninterpretedOption::NamePart, :name, 2
326
+ optional :string, :identifier_value, 3
327
+ optional :uint64, :positive_int_value, 4
328
+ optional :int64, :negative_int_value, 5
329
+ optional :double, :double_value, 6
330
+ optional :bytes, :string_value, 7
331
+ optional :string, :aggregate_value, 8
332
+ end
333
+
334
+ class SourceCodeInfo
335
+ class Location
336
+ repeated :int32, :path, 1, :packed => true
337
+ repeated :int32, :span, 2, :packed => true
338
+ optional :string, :leading_comments, 3
339
+ optional :string, :trailing_comments, 4
340
+ repeated :string, :leading_detached_comments, 6
341
+ end
342
+
343
+ repeated ::Google::Protobuf::SourceCodeInfo::Location, :location, 1
344
+ end
345
+
346
+ class GeneratedCodeInfo
347
+ class Annotation
348
+ repeated :int32, :path, 1, :packed => true
349
+ optional :string, :source_file, 2
350
+ optional :int32, :begin, 3
351
+ optional :int32, :end, 4
352
+ end
353
+
354
+ repeated ::Google::Protobuf::GeneratedCodeInfo::Annotation, :annotation, 1
355
+ end
356
+
357
+ end
358
+
359
+ end
360
+
Binary file
@@ -12,8 +12,8 @@ module Foo
12
12
  # Enum Classes
13
13
  #
14
14
  class Frobnitz < ::Protobuf::Enum
15
- define :FROB, 1
16
- define :NITZ, 2
15
+ define :FROB, 0
16
+ define :NITZ, 1
17
17
  end
18
18
 
19
19