upfluence-thrift 2.3.1 → 2.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/benchmark/gen-rb/benchmark_constants.rb +11 -0
  3. data/benchmark/gen-rb/benchmark_service.rb +106 -0
  4. data/benchmark/gen-rb/benchmark_types.rb +10 -0
  5. data/lib/thrift/protocol/json_protocol.rb +65 -1
  6. data/spec/gen-rb/base/base_service.rb +106 -0
  7. data/spec/gen-rb/base/base_service_constants.rb +11 -0
  8. data/spec/gen-rb/base/base_service_types.rb +33 -0
  9. data/spec/gen-rb/extended/extended_service.rb +103 -0
  10. data/spec/gen-rb/extended/extended_service_constants.rb +11 -0
  11. data/spec/gen-rb/extended/extended_service_types.rb +12 -0
  12. data/spec/gen-rb/flat/namespaced_nonblocking_service.rb +343 -0
  13. data/spec/gen-rb/flat/referenced_constants.rb +11 -0
  14. data/spec/gen-rb/flat/referenced_types.rb +17 -0
  15. data/spec/gen-rb/flat/thrift_namespaced_spec_constants.rb +11 -0
  16. data/spec/gen-rb/flat/thrift_namespaced_spec_types.rb +35 -0
  17. data/spec/gen-rb/namespaced_spec_namespace/namespaced_nonblocking_service.rb +343 -0
  18. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_constants.rb +11 -0
  19. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_types.rb +35 -0
  20. data/spec/gen-rb/nonblocking_service.rb +343 -0
  21. data/spec/gen-rb/other_namespace/referenced_constants.rb +11 -0
  22. data/spec/gen-rb/other_namespace/referenced_types.rb +17 -0
  23. data/spec/gen-rb/thrift_spec_constants.rb +11 -0
  24. data/spec/gen-rb/thrift_spec_types.rb +699 -0
  25. data/spec/json_protocol_spec.rb +17 -0
  26. data/test/debug_proto/gen-rb/debug_proto_test_constants.rb +274 -0
  27. data/test/debug_proto/gen-rb/debug_proto_test_types.rb +936 -0
  28. data/test/debug_proto/gen-rb/empty_service.rb +39 -0
  29. data/test/debug_proto/gen-rb/inherited.rb +105 -0
  30. data/test/debug_proto/gen-rb/reverse_order_service.rb +107 -0
  31. data/test/debug_proto/gen-rb/service_for_exception_with_a_map.rb +106 -0
  32. data/test/debug_proto/gen-rb/srv.rb +410 -0
  33. metadata +60 -2
@@ -0,0 +1,936 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.4.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+
9
+ module SomeEnum
10
+ ONE = 1
11
+ TWO = 2
12
+ VALUE_MAP = {1 => "ONE", 2 => "TWO"}
13
+ VALID_VALUES = Set.new([ONE, TWO]).freeze
14
+ end
15
+
16
+ class Doubles; end
17
+
18
+ class OneOfEach; end
19
+
20
+ class Bonk; end
21
+
22
+ class Nesting; end
23
+
24
+ class HolyMoley; end
25
+
26
+ class Backwards; end
27
+
28
+ class Empty; end
29
+
30
+ class Wrapper; end
31
+
32
+ class RandomStuff; end
33
+
34
+ class Base64; end
35
+
36
+ class CompactProtoTestStruct; end
37
+
38
+ class SingleMapTestStruct; end
39
+
40
+ class ExceptionWithAMap < ::Thrift::Exception; end
41
+
42
+ class BlowUp; end
43
+
44
+ class ReverseOrderStruct; end
45
+
46
+ class StructWithSomeEnum; end
47
+
48
+ class TestUnion < ::Thrift::Union; end
49
+
50
+ class TestUnionMinusStringField < ::Thrift::Union; end
51
+
52
+ class ComparableUnion < ::Thrift::Union; end
53
+
54
+ class StructWithAUnion; end
55
+
56
+ class PrimitiveThenStruct; end
57
+
58
+ class StructWithASomemap; end
59
+
60
+ class BigFieldIdStruct; end
61
+
62
+ class BreaksRubyCompactProtocol; end
63
+
64
+ class TupleProtocolTestStruct; end
65
+
66
+ class Doubles
67
+ include ::Thrift::Struct, ::Thrift::Struct_Union
68
+
69
+ NAME = 'Doubles'.freeze
70
+ NAMESPACE = ''.freeze
71
+
72
+ THRIFT_FIELD_INDEX_NAN = 1
73
+ THRIFT_FIELD_INDEX_INF = 2
74
+ THRIFT_FIELD_INDEX_NEGINF = 3
75
+ THRIFT_FIELD_INDEX_REPEATING = 4
76
+ THRIFT_FIELD_INDEX_BIG = 5
77
+ THRIFT_FIELD_INDEX_TINY = 6
78
+ THRIFT_FIELD_INDEX_ZERO = 7
79
+ THRIFT_FIELD_INDEX_NEGZERO = 8
80
+
81
+ FIELDS = {
82
+ THRIFT_FIELD_INDEX_NAN => {type: ::Thrift::Types::DOUBLE, name: 'nan'},
83
+ THRIFT_FIELD_INDEX_INF => {type: ::Thrift::Types::DOUBLE, name: 'inf'},
84
+ THRIFT_FIELD_INDEX_NEGINF => {type: ::Thrift::Types::DOUBLE, name: 'neginf'},
85
+ THRIFT_FIELD_INDEX_REPEATING => {type: ::Thrift::Types::DOUBLE, name: 'repeating'},
86
+ THRIFT_FIELD_INDEX_BIG => {type: ::Thrift::Types::DOUBLE, name: 'big'},
87
+ THRIFT_FIELD_INDEX_TINY => {type: ::Thrift::Types::DOUBLE, name: 'tiny'},
88
+ THRIFT_FIELD_INDEX_ZERO => {type: ::Thrift::Types::DOUBLE, name: 'zero'},
89
+ THRIFT_FIELD_INDEX_NEGZERO => {type: ::Thrift::Types::DOUBLE, name: 'negzero'}
90
+ }
91
+
92
+ def struct_fields; FIELDS; end
93
+
94
+ def validate
95
+ end
96
+
97
+ ::Thrift::Struct.generate_accessors self
98
+ ::Thrift.register_struct_type self
99
+ end
100
+
101
+ class OneOfEach
102
+ include ::Thrift::Struct, ::Thrift::Struct_Union
103
+
104
+ NAME = 'OneOfEach'.freeze
105
+ NAMESPACE = ''.freeze
106
+
107
+ THRIFT_FIELD_INDEX_IM_TRUE = 1
108
+ THRIFT_FIELD_INDEX_IM_FALSE = 2
109
+ THRIFT_FIELD_INDEX_A_BITE = 3
110
+ THRIFT_FIELD_INDEX_INTEGER16 = 4
111
+ THRIFT_FIELD_INDEX_INTEGER32 = 5
112
+ THRIFT_FIELD_INDEX_INTEGER64 = 6
113
+ THRIFT_FIELD_INDEX_DOUBLE_PRECISION = 7
114
+ THRIFT_FIELD_INDEX_SOME_CHARACTERS = 8
115
+ THRIFT_FIELD_INDEX_ZOMG_UNICODE = 9
116
+ THRIFT_FIELD_INDEX_WHAT_WHO = 10
117
+ THRIFT_FIELD_INDEX_BASE64 = 11
118
+ THRIFT_FIELD_INDEX_BYTE_LIST = 12
119
+ THRIFT_FIELD_INDEX_I16_LIST = 13
120
+ THRIFT_FIELD_INDEX_I64_LIST = 14
121
+
122
+ FIELDS = {
123
+ THRIFT_FIELD_INDEX_IM_TRUE => {type: ::Thrift::Types::BOOL, name: 'im_true'},
124
+ THRIFT_FIELD_INDEX_IM_FALSE => {type: ::Thrift::Types::BOOL, name: 'im_false'},
125
+ THRIFT_FIELD_INDEX_A_BITE => {type: ::Thrift::Types::BYTE, name: 'a_bite', default: 127},
126
+ THRIFT_FIELD_INDEX_INTEGER16 => {type: ::Thrift::Types::I16, name: 'integer16', default: 32767},
127
+ THRIFT_FIELD_INDEX_INTEGER32 => {type: ::Thrift::Types::I32, name: 'integer32'},
128
+ THRIFT_FIELD_INDEX_INTEGER64 => {type: ::Thrift::Types::I64, name: 'integer64', default: 10000000000},
129
+ THRIFT_FIELD_INDEX_DOUBLE_PRECISION => {type: ::Thrift::Types::DOUBLE, name: 'double_precision'},
130
+ THRIFT_FIELD_INDEX_SOME_CHARACTERS => {type: ::Thrift::Types::STRING, name: 'some_characters'},
131
+ THRIFT_FIELD_INDEX_ZOMG_UNICODE => {type: ::Thrift::Types::STRING, name: 'zomg_unicode'},
132
+ THRIFT_FIELD_INDEX_WHAT_WHO => {type: ::Thrift::Types::BOOL, name: 'what_who'},
133
+ THRIFT_FIELD_INDEX_BASE64 => {type: ::Thrift::Types::STRING, name: 'base64', binary: true},
134
+ THRIFT_FIELD_INDEX_BYTE_LIST => {type: ::Thrift::Types::LIST, name: 'byte_list', default: [
135
+ 1,
136
+ 2,
137
+ 3,
138
+ ], element: {type: ::Thrift::Types::BYTE}},
139
+ THRIFT_FIELD_INDEX_I16_LIST => {type: ::Thrift::Types::LIST, name: 'i16_list', default: [
140
+ 1,
141
+ 2,
142
+ 3,
143
+ ], element: {type: ::Thrift::Types::I16}},
144
+ THRIFT_FIELD_INDEX_I64_LIST => {type: ::Thrift::Types::LIST, name: 'i64_list', default: [
145
+ 1,
146
+ 2,
147
+ 3,
148
+ ], element: {type: ::Thrift::Types::I64}}
149
+ }
150
+
151
+ def struct_fields; FIELDS; end
152
+
153
+ def validate
154
+ end
155
+
156
+ ::Thrift::Struct.generate_accessors self
157
+ ::Thrift.register_struct_type self
158
+ end
159
+
160
+ class Bonk
161
+ include ::Thrift::Struct, ::Thrift::Struct_Union
162
+
163
+ NAME = 'Bonk'.freeze
164
+ NAMESPACE = ''.freeze
165
+
166
+ THRIFT_FIELD_INDEX_TYPE = 1
167
+ THRIFT_FIELD_INDEX_MESSAGE = 2
168
+
169
+ FIELDS = {
170
+ THRIFT_FIELD_INDEX_TYPE => {type: ::Thrift::Types::I32, name: 'type'},
171
+ THRIFT_FIELD_INDEX_MESSAGE => {type: ::Thrift::Types::STRING, name: 'message'}
172
+ }
173
+
174
+ def struct_fields; FIELDS; end
175
+
176
+ def validate
177
+ end
178
+
179
+ ::Thrift::Struct.generate_accessors self
180
+ ::Thrift.register_struct_type self
181
+ end
182
+
183
+ class Nesting
184
+ include ::Thrift::Struct, ::Thrift::Struct_Union
185
+
186
+ NAME = 'Nesting'.freeze
187
+ NAMESPACE = ''.freeze
188
+
189
+ THRIFT_FIELD_INDEX_MY_BONK = 1
190
+ THRIFT_FIELD_INDEX_MY_OOE = 2
191
+
192
+ FIELDS = {
193
+ THRIFT_FIELD_INDEX_MY_BONK => {type: ::Thrift::Types::STRUCT, name: 'my_bonk', class: ::Bonk},
194
+ THRIFT_FIELD_INDEX_MY_OOE => {type: ::Thrift::Types::STRUCT, name: 'my_ooe', class: ::OneOfEach}
195
+ }
196
+
197
+ def struct_fields; FIELDS; end
198
+
199
+ def validate
200
+ end
201
+
202
+ ::Thrift::Struct.generate_accessors self
203
+ ::Thrift.register_struct_type self
204
+ end
205
+
206
+ class HolyMoley
207
+ include ::Thrift::Struct, ::Thrift::Struct_Union
208
+
209
+ NAME = 'HolyMoley'.freeze
210
+ NAMESPACE = ''.freeze
211
+
212
+ THRIFT_FIELD_INDEX_BIG = 1
213
+ THRIFT_FIELD_INDEX_CONTAIN = 2
214
+ THRIFT_FIELD_INDEX_BONKS = 3
215
+
216
+ FIELDS = {
217
+ THRIFT_FIELD_INDEX_BIG => {type: ::Thrift::Types::LIST, name: 'big', element: {type: ::Thrift::Types::STRUCT, class: ::OneOfEach}},
218
+ THRIFT_FIELD_INDEX_CONTAIN => {type: ::Thrift::Types::SET, name: 'contain', element: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::STRING}}},
219
+ THRIFT_FIELD_INDEX_BONKS => {type: ::Thrift::Types::MAP, name: 'bonks', key: {type: ::Thrift::Types::STRING}, value: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::STRUCT, class: ::Bonk}}}
220
+ }
221
+
222
+ def struct_fields; FIELDS; end
223
+
224
+ def validate
225
+ end
226
+
227
+ ::Thrift::Struct.generate_accessors self
228
+ ::Thrift.register_struct_type self
229
+ end
230
+
231
+ class Backwards
232
+ include ::Thrift::Struct, ::Thrift::Struct_Union
233
+
234
+ NAME = 'Backwards'.freeze
235
+ NAMESPACE = ''.freeze
236
+
237
+ THRIFT_FIELD_INDEX_FIRST_TAG2 = 2
238
+ THRIFT_FIELD_INDEX_SECOND_TAG1 = 1
239
+
240
+ FIELDS = {
241
+ THRIFT_FIELD_INDEX_FIRST_TAG2 => {type: ::Thrift::Types::I32, name: 'first_tag2'},
242
+ THRIFT_FIELD_INDEX_SECOND_TAG1 => {type: ::Thrift::Types::I32, name: 'second_tag1'}
243
+ }
244
+
245
+ def struct_fields; FIELDS; end
246
+
247
+ def validate
248
+ end
249
+
250
+ ::Thrift::Struct.generate_accessors self
251
+ ::Thrift.register_struct_type self
252
+ end
253
+
254
+ class Empty
255
+ include ::Thrift::Struct, ::Thrift::Struct_Union
256
+
257
+ NAME = 'Empty'.freeze
258
+ NAMESPACE = ''.freeze
259
+
260
+
261
+ FIELDS = {
262
+
263
+ }
264
+
265
+ def struct_fields; FIELDS; end
266
+
267
+ def validate
268
+ end
269
+
270
+ ::Thrift::Struct.generate_accessors self
271
+ ::Thrift.register_struct_type self
272
+ end
273
+
274
+ class Wrapper
275
+ include ::Thrift::Struct, ::Thrift::Struct_Union
276
+
277
+ NAME = 'Wrapper'.freeze
278
+ NAMESPACE = ''.freeze
279
+
280
+ THRIFT_FIELD_INDEX_FOO = 1
281
+
282
+ FIELDS = {
283
+ THRIFT_FIELD_INDEX_FOO => {type: ::Thrift::Types::STRUCT, name: 'foo', class: ::Empty}
284
+ }
285
+
286
+ def struct_fields; FIELDS; end
287
+
288
+ def validate
289
+ end
290
+
291
+ ::Thrift::Struct.generate_accessors self
292
+ ::Thrift.register_struct_type self
293
+ end
294
+
295
+ class RandomStuff
296
+ include ::Thrift::Struct, ::Thrift::Struct_Union
297
+
298
+ NAME = 'RandomStuff'.freeze
299
+ NAMESPACE = ''.freeze
300
+
301
+ THRIFT_FIELD_INDEX_A = 1
302
+ THRIFT_FIELD_INDEX_B = 2
303
+ THRIFT_FIELD_INDEX_C = 3
304
+ THRIFT_FIELD_INDEX_D = 4
305
+ THRIFT_FIELD_INDEX_MYINTLIST = 5
306
+ THRIFT_FIELD_INDEX_MAPS = 6
307
+ THRIFT_FIELD_INDEX_BIGINT = 7
308
+ THRIFT_FIELD_INDEX_TRIPLE = 8
309
+
310
+ FIELDS = {
311
+ THRIFT_FIELD_INDEX_A => {type: ::Thrift::Types::I32, name: 'a'},
312
+ THRIFT_FIELD_INDEX_B => {type: ::Thrift::Types::I32, name: 'b'},
313
+ THRIFT_FIELD_INDEX_C => {type: ::Thrift::Types::I32, name: 'c'},
314
+ THRIFT_FIELD_INDEX_D => {type: ::Thrift::Types::I32, name: 'd'},
315
+ THRIFT_FIELD_INDEX_MYINTLIST => {type: ::Thrift::Types::LIST, name: 'myintlist', element: {type: ::Thrift::Types::I32}},
316
+ THRIFT_FIELD_INDEX_MAPS => {type: ::Thrift::Types::MAP, name: 'maps', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::STRUCT, class: ::Wrapper}},
317
+ THRIFT_FIELD_INDEX_BIGINT => {type: ::Thrift::Types::I64, name: 'bigint'},
318
+ THRIFT_FIELD_INDEX_TRIPLE => {type: ::Thrift::Types::DOUBLE, name: 'triple'}
319
+ }
320
+
321
+ def struct_fields; FIELDS; end
322
+
323
+ def validate
324
+ end
325
+
326
+ ::Thrift::Struct.generate_accessors self
327
+ ::Thrift.register_struct_type self
328
+ end
329
+
330
+ class Base64
331
+ include ::Thrift::Struct, ::Thrift::Struct_Union
332
+
333
+ NAME = 'Base64'.freeze
334
+ NAMESPACE = ''.freeze
335
+
336
+ THRIFT_FIELD_INDEX_A = 1
337
+ THRIFT_FIELD_INDEX_B1 = 2
338
+ THRIFT_FIELD_INDEX_B2 = 3
339
+ THRIFT_FIELD_INDEX_B3 = 4
340
+ THRIFT_FIELD_INDEX_B4 = 5
341
+ THRIFT_FIELD_INDEX_B5 = 6
342
+ THRIFT_FIELD_INDEX_B6 = 7
343
+
344
+ FIELDS = {
345
+ THRIFT_FIELD_INDEX_A => {type: ::Thrift::Types::I32, name: 'a'},
346
+ THRIFT_FIELD_INDEX_B1 => {type: ::Thrift::Types::STRING, name: 'b1', binary: true},
347
+ THRIFT_FIELD_INDEX_B2 => {type: ::Thrift::Types::STRING, name: 'b2', binary: true},
348
+ THRIFT_FIELD_INDEX_B3 => {type: ::Thrift::Types::STRING, name: 'b3', binary: true},
349
+ THRIFT_FIELD_INDEX_B4 => {type: ::Thrift::Types::STRING, name: 'b4', binary: true},
350
+ THRIFT_FIELD_INDEX_B5 => {type: ::Thrift::Types::STRING, name: 'b5', binary: true},
351
+ THRIFT_FIELD_INDEX_B6 => {type: ::Thrift::Types::STRING, name: 'b6', binary: true}
352
+ }
353
+
354
+ def struct_fields; FIELDS; end
355
+
356
+ def validate
357
+ end
358
+
359
+ ::Thrift::Struct.generate_accessors self
360
+ ::Thrift.register_struct_type self
361
+ end
362
+
363
+ class CompactProtoTestStruct
364
+ include ::Thrift::Struct, ::Thrift::Struct_Union
365
+
366
+ NAME = 'CompactProtoTestStruct'.freeze
367
+ NAMESPACE = ''.freeze
368
+
369
+ THRIFT_FIELD_INDEX_A_BYTE = 1
370
+ THRIFT_FIELD_INDEX_A_I16 = 2
371
+ THRIFT_FIELD_INDEX_A_I32 = 3
372
+ THRIFT_FIELD_INDEX_A_I64 = 4
373
+ THRIFT_FIELD_INDEX_A_DOUBLE = 5
374
+ THRIFT_FIELD_INDEX_A_STRING = 6
375
+ THRIFT_FIELD_INDEX_A_BINARY = 7
376
+ THRIFT_FIELD_INDEX_TRUE_FIELD = 8
377
+ THRIFT_FIELD_INDEX_FALSE_FIELD = 9
378
+ THRIFT_FIELD_INDEX_EMPTY_STRUCT_FIELD = 10
379
+ THRIFT_FIELD_INDEX_BYTE_LIST = 11
380
+ THRIFT_FIELD_INDEX_I16_LIST = 12
381
+ THRIFT_FIELD_INDEX_I32_LIST = 13
382
+ THRIFT_FIELD_INDEX_I64_LIST = 14
383
+ THRIFT_FIELD_INDEX_DOUBLE_LIST = 15
384
+ THRIFT_FIELD_INDEX_STRING_LIST = 16
385
+ THRIFT_FIELD_INDEX_BINARY_LIST = 17
386
+ THRIFT_FIELD_INDEX_BOOLEAN_LIST = 18
387
+ THRIFT_FIELD_INDEX_STRUCT_LIST = 19
388
+ THRIFT_FIELD_INDEX_BYTE_SET = 20
389
+ THRIFT_FIELD_INDEX_I16_SET = 21
390
+ THRIFT_FIELD_INDEX_I32_SET = 22
391
+ THRIFT_FIELD_INDEX_I64_SET = 23
392
+ THRIFT_FIELD_INDEX_DOUBLE_SET = 24
393
+ THRIFT_FIELD_INDEX_STRING_SET = 25
394
+ THRIFT_FIELD_INDEX_BINARY_SET = 26
395
+ THRIFT_FIELD_INDEX_BOOLEAN_SET = 27
396
+ THRIFT_FIELD_INDEX_STRUCT_SET = 28
397
+ THRIFT_FIELD_INDEX_BYTE_BYTE_MAP = 29
398
+ THRIFT_FIELD_INDEX_I16_BYTE_MAP = 30
399
+ THRIFT_FIELD_INDEX_I32_BYTE_MAP = 31
400
+ THRIFT_FIELD_INDEX_I64_BYTE_MAP = 32
401
+ THRIFT_FIELD_INDEX_DOUBLE_BYTE_MAP = 33
402
+ THRIFT_FIELD_INDEX_STRING_BYTE_MAP = 34
403
+ THRIFT_FIELD_INDEX_BINARY_BYTE_MAP = 35
404
+ THRIFT_FIELD_INDEX_BOOLEAN_BYTE_MAP = 36
405
+ THRIFT_FIELD_INDEX_BYTE_I16_MAP = 37
406
+ THRIFT_FIELD_INDEX_BYTE_I32_MAP = 38
407
+ THRIFT_FIELD_INDEX_BYTE_I64_MAP = 39
408
+ THRIFT_FIELD_INDEX_BYTE_DOUBLE_MAP = 40
409
+ THRIFT_FIELD_INDEX_BYTE_STRING_MAP = 41
410
+ THRIFT_FIELD_INDEX_BYTE_BINARY_MAP = 42
411
+ THRIFT_FIELD_INDEX_BYTE_BOOLEAN_MAP = 43
412
+ THRIFT_FIELD_INDEX_LIST_BYTE_MAP = 44
413
+ THRIFT_FIELD_INDEX_SET_BYTE_MAP = 45
414
+ THRIFT_FIELD_INDEX_MAP_BYTE_MAP = 46
415
+ THRIFT_FIELD_INDEX_BYTE_MAP_MAP = 47
416
+ THRIFT_FIELD_INDEX_BYTE_SET_MAP = 48
417
+ THRIFT_FIELD_INDEX_BYTE_LIST_MAP = 49
418
+
419
+ FIELDS = {
420
+ THRIFT_FIELD_INDEX_A_BYTE => {type: ::Thrift::Types::BYTE, name: 'a_byte'},
421
+ THRIFT_FIELD_INDEX_A_I16 => {type: ::Thrift::Types::I16, name: 'a_i16'},
422
+ THRIFT_FIELD_INDEX_A_I32 => {type: ::Thrift::Types::I32, name: 'a_i32'},
423
+ THRIFT_FIELD_INDEX_A_I64 => {type: ::Thrift::Types::I64, name: 'a_i64'},
424
+ THRIFT_FIELD_INDEX_A_DOUBLE => {type: ::Thrift::Types::DOUBLE, name: 'a_double'},
425
+ THRIFT_FIELD_INDEX_A_STRING => {type: ::Thrift::Types::STRING, name: 'a_string'},
426
+ THRIFT_FIELD_INDEX_A_BINARY => {type: ::Thrift::Types::STRING, name: 'a_binary', binary: true},
427
+ THRIFT_FIELD_INDEX_TRUE_FIELD => {type: ::Thrift::Types::BOOL, name: 'true_field'},
428
+ THRIFT_FIELD_INDEX_FALSE_FIELD => {type: ::Thrift::Types::BOOL, name: 'false_field'},
429
+ THRIFT_FIELD_INDEX_EMPTY_STRUCT_FIELD => {type: ::Thrift::Types::STRUCT, name: 'empty_struct_field', class: ::Empty},
430
+ THRIFT_FIELD_INDEX_BYTE_LIST => {type: ::Thrift::Types::LIST, name: 'byte_list', element: {type: ::Thrift::Types::BYTE}},
431
+ THRIFT_FIELD_INDEX_I16_LIST => {type: ::Thrift::Types::LIST, name: 'i16_list', element: {type: ::Thrift::Types::I16}},
432
+ THRIFT_FIELD_INDEX_I32_LIST => {type: ::Thrift::Types::LIST, name: 'i32_list', element: {type: ::Thrift::Types::I32}},
433
+ THRIFT_FIELD_INDEX_I64_LIST => {type: ::Thrift::Types::LIST, name: 'i64_list', element: {type: ::Thrift::Types::I64}},
434
+ THRIFT_FIELD_INDEX_DOUBLE_LIST => {type: ::Thrift::Types::LIST, name: 'double_list', element: {type: ::Thrift::Types::DOUBLE}},
435
+ THRIFT_FIELD_INDEX_STRING_LIST => {type: ::Thrift::Types::LIST, name: 'string_list', element: {type: ::Thrift::Types::STRING}},
436
+ THRIFT_FIELD_INDEX_BINARY_LIST => {type: ::Thrift::Types::LIST, name: 'binary_list', element: {type: ::Thrift::Types::STRING, binary: true}},
437
+ THRIFT_FIELD_INDEX_BOOLEAN_LIST => {type: ::Thrift::Types::LIST, name: 'boolean_list', element: {type: ::Thrift::Types::BOOL}},
438
+ THRIFT_FIELD_INDEX_STRUCT_LIST => {type: ::Thrift::Types::LIST, name: 'struct_list', element: {type: ::Thrift::Types::STRUCT, class: ::Empty}},
439
+ THRIFT_FIELD_INDEX_BYTE_SET => {type: ::Thrift::Types::SET, name: 'byte_set', element: {type: ::Thrift::Types::BYTE}},
440
+ THRIFT_FIELD_INDEX_I16_SET => {type: ::Thrift::Types::SET, name: 'i16_set', element: {type: ::Thrift::Types::I16}},
441
+ THRIFT_FIELD_INDEX_I32_SET => {type: ::Thrift::Types::SET, name: 'i32_set', element: {type: ::Thrift::Types::I32}},
442
+ THRIFT_FIELD_INDEX_I64_SET => {type: ::Thrift::Types::SET, name: 'i64_set', element: {type: ::Thrift::Types::I64}},
443
+ THRIFT_FIELD_INDEX_DOUBLE_SET => {type: ::Thrift::Types::SET, name: 'double_set', element: {type: ::Thrift::Types::DOUBLE}},
444
+ THRIFT_FIELD_INDEX_STRING_SET => {type: ::Thrift::Types::SET, name: 'string_set', element: {type: ::Thrift::Types::STRING}},
445
+ THRIFT_FIELD_INDEX_BINARY_SET => {type: ::Thrift::Types::SET, name: 'binary_set', element: {type: ::Thrift::Types::STRING, binary: true}},
446
+ THRIFT_FIELD_INDEX_BOOLEAN_SET => {type: ::Thrift::Types::SET, name: 'boolean_set', element: {type: ::Thrift::Types::BOOL}},
447
+ THRIFT_FIELD_INDEX_STRUCT_SET => {type: ::Thrift::Types::SET, name: 'struct_set', element: {type: ::Thrift::Types::STRUCT, class: ::Empty}},
448
+ THRIFT_FIELD_INDEX_BYTE_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'byte_byte_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::BYTE}},
449
+ THRIFT_FIELD_INDEX_I16_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'i16_byte_map', key: {type: ::Thrift::Types::I16}, value: {type: ::Thrift::Types::BYTE}},
450
+ THRIFT_FIELD_INDEX_I32_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'i32_byte_map', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::BYTE}},
451
+ THRIFT_FIELD_INDEX_I64_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'i64_byte_map', key: {type: ::Thrift::Types::I64}, value: {type: ::Thrift::Types::BYTE}},
452
+ THRIFT_FIELD_INDEX_DOUBLE_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'double_byte_map', key: {type: ::Thrift::Types::DOUBLE}, value: {type: ::Thrift::Types::BYTE}},
453
+ THRIFT_FIELD_INDEX_STRING_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'string_byte_map', key: {type: ::Thrift::Types::STRING}, value: {type: ::Thrift::Types::BYTE}},
454
+ THRIFT_FIELD_INDEX_BINARY_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'binary_byte_map', key: {type: ::Thrift::Types::STRING, binary: true}, value: {type: ::Thrift::Types::BYTE}},
455
+ THRIFT_FIELD_INDEX_BOOLEAN_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'boolean_byte_map', key: {type: ::Thrift::Types::BOOL}, value: {type: ::Thrift::Types::BYTE}},
456
+ THRIFT_FIELD_INDEX_BYTE_I16_MAP => {type: ::Thrift::Types::MAP, name: 'byte_i16_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::I16}},
457
+ THRIFT_FIELD_INDEX_BYTE_I32_MAP => {type: ::Thrift::Types::MAP, name: 'byte_i32_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::I32}},
458
+ THRIFT_FIELD_INDEX_BYTE_I64_MAP => {type: ::Thrift::Types::MAP, name: 'byte_i64_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::I64}},
459
+ THRIFT_FIELD_INDEX_BYTE_DOUBLE_MAP => {type: ::Thrift::Types::MAP, name: 'byte_double_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::DOUBLE}},
460
+ THRIFT_FIELD_INDEX_BYTE_STRING_MAP => {type: ::Thrift::Types::MAP, name: 'byte_string_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::STRING}},
461
+ THRIFT_FIELD_INDEX_BYTE_BINARY_MAP => {type: ::Thrift::Types::MAP, name: 'byte_binary_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::STRING, binary: true}},
462
+ THRIFT_FIELD_INDEX_BYTE_BOOLEAN_MAP => {type: ::Thrift::Types::MAP, name: 'byte_boolean_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::BOOL}},
463
+ THRIFT_FIELD_INDEX_LIST_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'list_byte_map', key: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::BYTE}}, value: {type: ::Thrift::Types::BYTE}},
464
+ THRIFT_FIELD_INDEX_SET_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'set_byte_map', key: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::BYTE}}, value: {type: ::Thrift::Types::BYTE}},
465
+ THRIFT_FIELD_INDEX_MAP_BYTE_MAP => {type: ::Thrift::Types::MAP, name: 'map_byte_map', key: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::BYTE}}, value: {type: ::Thrift::Types::BYTE}},
466
+ THRIFT_FIELD_INDEX_BYTE_MAP_MAP => {type: ::Thrift::Types::MAP, name: 'byte_map_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::BYTE}}},
467
+ THRIFT_FIELD_INDEX_BYTE_SET_MAP => {type: ::Thrift::Types::MAP, name: 'byte_set_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::BYTE}}},
468
+ THRIFT_FIELD_INDEX_BYTE_LIST_MAP => {type: ::Thrift::Types::MAP, name: 'byte_list_map', key: {type: ::Thrift::Types::BYTE}, value: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::BYTE}}}
469
+ }
470
+
471
+ def struct_fields; FIELDS; end
472
+
473
+ def validate
474
+ end
475
+
476
+ ::Thrift::Struct.generate_accessors self
477
+ ::Thrift.register_struct_type self
478
+ end
479
+
480
+ class SingleMapTestStruct
481
+ include ::Thrift::Struct, ::Thrift::Struct_Union
482
+
483
+ NAME = 'SingleMapTestStruct'.freeze
484
+ NAMESPACE = ''.freeze
485
+
486
+ THRIFT_FIELD_INDEX_I32_MAP = 1
487
+
488
+ FIELDS = {
489
+ THRIFT_FIELD_INDEX_I32_MAP => {type: ::Thrift::Types::MAP, name: 'i32_map', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::I32}}
490
+ }
491
+
492
+ def struct_fields; FIELDS; end
493
+
494
+ def validate
495
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field i32_map is unset!') unless @i32_map
496
+ end
497
+
498
+ ::Thrift::Struct.generate_accessors self
499
+ ::Thrift.register_struct_type self
500
+ end
501
+
502
+ class ExceptionWithAMap < ::Thrift::Exception
503
+ include ::Thrift::Struct, ::Thrift::Struct_Union
504
+
505
+ NAME = 'ExceptionWithAMap'.freeze
506
+ NAMESPACE = ''.freeze
507
+
508
+ THRIFT_FIELD_INDEX_BLAH = 1
509
+ THRIFT_FIELD_INDEX_MAP_FIELD = 2
510
+
511
+ FIELDS = {
512
+ THRIFT_FIELD_INDEX_BLAH => {type: ::Thrift::Types::STRING, name: 'blah'},
513
+ THRIFT_FIELD_INDEX_MAP_FIELD => {type: ::Thrift::Types::MAP, name: 'map_field', key: {type: ::Thrift::Types::STRING}, value: {type: ::Thrift::Types::STRING}}
514
+ }
515
+
516
+ def struct_fields; FIELDS; end
517
+
518
+ def validate
519
+ end
520
+
521
+ ::Thrift::Struct.generate_accessors self
522
+ ::Thrift.register_struct_type self
523
+ end
524
+
525
+ class BlowUp
526
+ include ::Thrift::Struct, ::Thrift::Struct_Union
527
+
528
+ NAME = 'BlowUp'.freeze
529
+ NAMESPACE = ''.freeze
530
+
531
+ THRIFT_FIELD_INDEX_B1 = 1
532
+ THRIFT_FIELD_INDEX_B2 = 2
533
+ THRIFT_FIELD_INDEX_B3 = 3
534
+ THRIFT_FIELD_INDEX_B4 = 4
535
+
536
+ FIELDS = {
537
+ THRIFT_FIELD_INDEX_B1 => {type: ::Thrift::Types::MAP, name: 'b1', key: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::I32}}, value: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::STRING}}}},
538
+ THRIFT_FIELD_INDEX_B2 => {type: ::Thrift::Types::MAP, name: 'b2', key: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::I32}}, value: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::STRING}}}},
539
+ THRIFT_FIELD_INDEX_B3 => {type: ::Thrift::Types::MAP, name: 'b3', key: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::I32}}, value: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::STRING}}}},
540
+ THRIFT_FIELD_INDEX_B4 => {type: ::Thrift::Types::MAP, name: 'b4', key: {type: ::Thrift::Types::LIST, element: {type: ::Thrift::Types::I32}}, value: {type: ::Thrift::Types::SET, element: {type: ::Thrift::Types::MAP, key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::STRING}}}}
541
+ }
542
+
543
+ def struct_fields; FIELDS; end
544
+
545
+ def validate
546
+ end
547
+
548
+ ::Thrift::Struct.generate_accessors self
549
+ ::Thrift.register_struct_type self
550
+ end
551
+
552
+ class ReverseOrderStruct
553
+ include ::Thrift::Struct, ::Thrift::Struct_Union
554
+
555
+ NAME = 'ReverseOrderStruct'.freeze
556
+ NAMESPACE = ''.freeze
557
+
558
+ THRIFT_FIELD_INDEX_FIRST = 4
559
+ THRIFT_FIELD_INDEX_SECOND = 3
560
+ THRIFT_FIELD_INDEX_THIRD = 2
561
+ THRIFT_FIELD_INDEX_FOURTH = 1
562
+
563
+ FIELDS = {
564
+ THRIFT_FIELD_INDEX_FIRST => {type: ::Thrift::Types::STRING, name: 'first'},
565
+ THRIFT_FIELD_INDEX_SECOND => {type: ::Thrift::Types::I16, name: 'second'},
566
+ THRIFT_FIELD_INDEX_THIRD => {type: ::Thrift::Types::I32, name: 'third'},
567
+ THRIFT_FIELD_INDEX_FOURTH => {type: ::Thrift::Types::I64, name: 'fourth'}
568
+ }
569
+
570
+ def struct_fields; FIELDS; end
571
+
572
+ def validate
573
+ end
574
+
575
+ ::Thrift::Struct.generate_accessors self
576
+ ::Thrift.register_struct_type self
577
+ end
578
+
579
+ class StructWithSomeEnum
580
+ include ::Thrift::Struct, ::Thrift::Struct_Union
581
+
582
+ NAME = 'StructWithSomeEnum'.freeze
583
+ NAMESPACE = ''.freeze
584
+
585
+ THRIFT_FIELD_INDEX_BLAH = 1
586
+
587
+ FIELDS = {
588
+ THRIFT_FIELD_INDEX_BLAH => {type: ::Thrift::Types::I32, name: 'blah', enum_class: ::SomeEnum}
589
+ }
590
+
591
+ def struct_fields; FIELDS; end
592
+
593
+ def validate
594
+ unless @blah.nil? || ::SomeEnum::VALID_VALUES.include?(@blah)
595
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field blah!')
596
+ end
597
+ end
598
+
599
+ ::Thrift::Struct.generate_accessors self
600
+ ::Thrift.register_struct_type self
601
+ end
602
+
603
+ class TestUnion < ::Thrift::Union
604
+ include ::Thrift::Struct_Union
605
+
606
+ NAME = 'TestUnion'.freeze
607
+ NAMESPACE = ''.freeze
608
+
609
+ class << self
610
+ def string_field(val)
611
+ TestUnion.new(:string_field, val)
612
+ end
613
+
614
+ def i32_field(val)
615
+ TestUnion.new(:i32_field, val)
616
+ end
617
+
618
+ def struct_field(val)
619
+ TestUnion.new(:struct_field, val)
620
+ end
621
+
622
+ def struct_list(val)
623
+ TestUnion.new(:struct_list, val)
624
+ end
625
+
626
+ def other_i32_field(val)
627
+ TestUnion.new(:other_i32_field, val)
628
+ end
629
+
630
+ def enum_field(val)
631
+ TestUnion.new(:enum_field, val)
632
+ end
633
+
634
+ def i32_set(val)
635
+ TestUnion.new(:i32_set, val)
636
+ end
637
+
638
+ def i32_map(val)
639
+ TestUnion.new(:i32_map, val)
640
+ end
641
+ end
642
+
643
+ THRIFT_FIELD_INDEX_STRING_FIELD = 1
644
+ THRIFT_FIELD_INDEX_I32_FIELD = 2
645
+ THRIFT_FIELD_INDEX_STRUCT_FIELD = 3
646
+ THRIFT_FIELD_INDEX_STRUCT_LIST = 4
647
+ THRIFT_FIELD_INDEX_OTHER_I32_FIELD = 5
648
+ THRIFT_FIELD_INDEX_ENUM_FIELD = 6
649
+ THRIFT_FIELD_INDEX_I32_SET = 7
650
+ THRIFT_FIELD_INDEX_I32_MAP = 8
651
+
652
+ FIELDS = {
653
+ # A doc string
654
+ THRIFT_FIELD_INDEX_STRING_FIELD => {type: ::Thrift::Types::STRING, name: 'string_field'},
655
+ THRIFT_FIELD_INDEX_I32_FIELD => {type: ::Thrift::Types::I32, name: 'i32_field'},
656
+ THRIFT_FIELD_INDEX_STRUCT_FIELD => {type: ::Thrift::Types::STRUCT, name: 'struct_field', class: ::OneOfEach},
657
+ THRIFT_FIELD_INDEX_STRUCT_LIST => {type: ::Thrift::Types::LIST, name: 'struct_list', element: {type: ::Thrift::Types::STRUCT, class: ::RandomStuff}},
658
+ THRIFT_FIELD_INDEX_OTHER_I32_FIELD => {type: ::Thrift::Types::I32, name: 'other_i32_field'},
659
+ THRIFT_FIELD_INDEX_ENUM_FIELD => {type: ::Thrift::Types::I32, name: 'enum_field', enum_class: ::SomeEnum},
660
+ THRIFT_FIELD_INDEX_I32_SET => {type: ::Thrift::Types::SET, name: 'i32_set', element: {type: ::Thrift::Types::I32}},
661
+ THRIFT_FIELD_INDEX_I32_MAP => {type: ::Thrift::Types::MAP, name: 'i32_map', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::I32}}
662
+ }
663
+
664
+ def struct_fields; FIELDS; end
665
+
666
+ def validate
667
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
668
+ if get_set_field == :enum_field
669
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field enum_field!') unless ::SomeEnum::VALID_VALUES.include?(get_value)
670
+ end
671
+ end
672
+
673
+ ::Thrift::Union.generate_accessors self
674
+ ::Thrift.register_struct_type self
675
+ end
676
+
677
+ class TestUnionMinusStringField < ::Thrift::Union
678
+ include ::Thrift::Struct_Union
679
+
680
+ NAME = 'TestUnionMinusStringField'.freeze
681
+ NAMESPACE = ''.freeze
682
+
683
+ class << self
684
+ def i32_field(val)
685
+ TestUnionMinusStringField.new(:i32_field, val)
686
+ end
687
+
688
+ def struct_field(val)
689
+ TestUnionMinusStringField.new(:struct_field, val)
690
+ end
691
+
692
+ def struct_list(val)
693
+ TestUnionMinusStringField.new(:struct_list, val)
694
+ end
695
+
696
+ def other_i32_field(val)
697
+ TestUnionMinusStringField.new(:other_i32_field, val)
698
+ end
699
+
700
+ def enum_field(val)
701
+ TestUnionMinusStringField.new(:enum_field, val)
702
+ end
703
+
704
+ def i32_set(val)
705
+ TestUnionMinusStringField.new(:i32_set, val)
706
+ end
707
+
708
+ def i32_map(val)
709
+ TestUnionMinusStringField.new(:i32_map, val)
710
+ end
711
+ end
712
+
713
+ THRIFT_FIELD_INDEX_I32_FIELD = 2
714
+ THRIFT_FIELD_INDEX_STRUCT_FIELD = 3
715
+ THRIFT_FIELD_INDEX_STRUCT_LIST = 4
716
+ THRIFT_FIELD_INDEX_OTHER_I32_FIELD = 5
717
+ THRIFT_FIELD_INDEX_ENUM_FIELD = 6
718
+ THRIFT_FIELD_INDEX_I32_SET = 7
719
+ THRIFT_FIELD_INDEX_I32_MAP = 8
720
+
721
+ FIELDS = {
722
+ THRIFT_FIELD_INDEX_I32_FIELD => {type: ::Thrift::Types::I32, name: 'i32_field'},
723
+ THRIFT_FIELD_INDEX_STRUCT_FIELD => {type: ::Thrift::Types::STRUCT, name: 'struct_field', class: ::OneOfEach},
724
+ THRIFT_FIELD_INDEX_STRUCT_LIST => {type: ::Thrift::Types::LIST, name: 'struct_list', element: {type: ::Thrift::Types::STRUCT, class: ::RandomStuff}},
725
+ THRIFT_FIELD_INDEX_OTHER_I32_FIELD => {type: ::Thrift::Types::I32, name: 'other_i32_field'},
726
+ THRIFT_FIELD_INDEX_ENUM_FIELD => {type: ::Thrift::Types::I32, name: 'enum_field', enum_class: ::SomeEnum},
727
+ THRIFT_FIELD_INDEX_I32_SET => {type: ::Thrift::Types::SET, name: 'i32_set', element: {type: ::Thrift::Types::I32}},
728
+ THRIFT_FIELD_INDEX_I32_MAP => {type: ::Thrift::Types::MAP, name: 'i32_map', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::I32}}
729
+ }
730
+
731
+ def struct_fields; FIELDS; end
732
+
733
+ def validate
734
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
735
+ if get_set_field == :enum_field
736
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field enum_field!') unless ::SomeEnum::VALID_VALUES.include?(get_value)
737
+ end
738
+ end
739
+
740
+ ::Thrift::Union.generate_accessors self
741
+ ::Thrift.register_struct_type self
742
+ end
743
+
744
+ class ComparableUnion < ::Thrift::Union
745
+ include ::Thrift::Struct_Union
746
+
747
+ NAME = 'ComparableUnion'.freeze
748
+ NAMESPACE = ''.freeze
749
+
750
+ class << self
751
+ def string_field(val)
752
+ ComparableUnion.new(:string_field, val)
753
+ end
754
+
755
+ def binary_field(val)
756
+ ComparableUnion.new(:binary_field, val)
757
+ end
758
+ end
759
+
760
+ THRIFT_FIELD_INDEX_STRING_FIELD = 1
761
+ THRIFT_FIELD_INDEX_BINARY_FIELD = 2
762
+
763
+ FIELDS = {
764
+ THRIFT_FIELD_INDEX_STRING_FIELD => {type: ::Thrift::Types::STRING, name: 'string_field'},
765
+ THRIFT_FIELD_INDEX_BINARY_FIELD => {type: ::Thrift::Types::STRING, name: 'binary_field', binary: true}
766
+ }
767
+
768
+ def struct_fields; FIELDS; end
769
+
770
+ def validate
771
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
772
+ end
773
+
774
+ ::Thrift::Union.generate_accessors self
775
+ ::Thrift.register_struct_type self
776
+ end
777
+
778
+ class StructWithAUnion
779
+ include ::Thrift::Struct, ::Thrift::Struct_Union
780
+
781
+ NAME = 'StructWithAUnion'.freeze
782
+ NAMESPACE = ''.freeze
783
+
784
+ THRIFT_FIELD_INDEX_TEST_UNION = 1
785
+
786
+ FIELDS = {
787
+ THRIFT_FIELD_INDEX_TEST_UNION => {type: ::Thrift::Types::STRUCT, name: 'test_union', class: ::TestUnion}
788
+ }
789
+
790
+ def struct_fields; FIELDS; end
791
+
792
+ def validate
793
+ end
794
+
795
+ ::Thrift::Struct.generate_accessors self
796
+ ::Thrift.register_struct_type self
797
+ end
798
+
799
+ class PrimitiveThenStruct
800
+ include ::Thrift::Struct, ::Thrift::Struct_Union
801
+
802
+ NAME = 'PrimitiveThenStruct'.freeze
803
+ NAMESPACE = ''.freeze
804
+
805
+ THRIFT_FIELD_INDEX_BLAH = 1
806
+ THRIFT_FIELD_INDEX_BLAH2 = 2
807
+ THRIFT_FIELD_INDEX_BW = 3
808
+
809
+ FIELDS = {
810
+ THRIFT_FIELD_INDEX_BLAH => {type: ::Thrift::Types::I32, name: 'blah'},
811
+ THRIFT_FIELD_INDEX_BLAH2 => {type: ::Thrift::Types::I32, name: 'blah2'},
812
+ THRIFT_FIELD_INDEX_BW => {type: ::Thrift::Types::STRUCT, name: 'bw', class: ::Backwards}
813
+ }
814
+
815
+ def struct_fields; FIELDS; end
816
+
817
+ def validate
818
+ end
819
+
820
+ ::Thrift::Struct.generate_accessors self
821
+ ::Thrift.register_struct_type self
822
+ end
823
+
824
+ class StructWithASomemap
825
+ include ::Thrift::Struct, ::Thrift::Struct_Union
826
+
827
+ NAME = 'StructWithASomemap'.freeze
828
+ NAMESPACE = ''.freeze
829
+
830
+ THRIFT_FIELD_INDEX_SOMEMAP_FIELD = 1
831
+
832
+ FIELDS = {
833
+ THRIFT_FIELD_INDEX_SOMEMAP_FIELD => {type: ::Thrift::Types::MAP, name: 'somemap_field', key: {type: ::Thrift::Types::I32}, value: {type: ::Thrift::Types::I32}}
834
+ }
835
+
836
+ def struct_fields; FIELDS; end
837
+
838
+ def validate
839
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field somemap_field is unset!') unless @somemap_field
840
+ end
841
+
842
+ ::Thrift::Struct.generate_accessors self
843
+ ::Thrift.register_struct_type self
844
+ end
845
+
846
+ class BigFieldIdStruct
847
+ include ::Thrift::Struct, ::Thrift::Struct_Union
848
+
849
+ NAME = 'BigFieldIdStruct'.freeze
850
+ NAMESPACE = ''.freeze
851
+
852
+ THRIFT_FIELD_INDEX_FIELD1 = 1
853
+ THRIFT_FIELD_INDEX_FIELD2 = 45
854
+
855
+ FIELDS = {
856
+ THRIFT_FIELD_INDEX_FIELD1 => {type: ::Thrift::Types::STRING, name: 'field1'},
857
+ THRIFT_FIELD_INDEX_FIELD2 => {type: ::Thrift::Types::STRING, name: 'field2'}
858
+ }
859
+
860
+ def struct_fields; FIELDS; end
861
+
862
+ def validate
863
+ end
864
+
865
+ ::Thrift::Struct.generate_accessors self
866
+ ::Thrift.register_struct_type self
867
+ end
868
+
869
+ class BreaksRubyCompactProtocol
870
+ include ::Thrift::Struct, ::Thrift::Struct_Union
871
+
872
+ NAME = 'BreaksRubyCompactProtocol'.freeze
873
+ NAMESPACE = ''.freeze
874
+
875
+ THRIFT_FIELD_INDEX_FIELD1 = 1
876
+ THRIFT_FIELD_INDEX_FIELD2 = 2
877
+ THRIFT_FIELD_INDEX_FIELD3 = 3
878
+
879
+ FIELDS = {
880
+ THRIFT_FIELD_INDEX_FIELD1 => {type: ::Thrift::Types::STRING, name: 'field1'},
881
+ THRIFT_FIELD_INDEX_FIELD2 => {type: ::Thrift::Types::STRUCT, name: 'field2', class: ::BigFieldIdStruct},
882
+ THRIFT_FIELD_INDEX_FIELD3 => {type: ::Thrift::Types::I32, name: 'field3'}
883
+ }
884
+
885
+ def struct_fields; FIELDS; end
886
+
887
+ def validate
888
+ end
889
+
890
+ ::Thrift::Struct.generate_accessors self
891
+ ::Thrift.register_struct_type self
892
+ end
893
+
894
+ class TupleProtocolTestStruct
895
+ include ::Thrift::Struct, ::Thrift::Struct_Union
896
+
897
+ NAME = 'TupleProtocolTestStruct'.freeze
898
+ NAMESPACE = ''.freeze
899
+
900
+ THRIFT_FIELD_INDEX_FIELD1 = -1
901
+ THRIFT_FIELD_INDEX_FIELD2 = -2
902
+ THRIFT_FIELD_INDEX_FIELD3 = -3
903
+ THRIFT_FIELD_INDEX_FIELD4 = -4
904
+ THRIFT_FIELD_INDEX_FIELD5 = -5
905
+ THRIFT_FIELD_INDEX_FIELD6 = -6
906
+ THRIFT_FIELD_INDEX_FIELD7 = -7
907
+ THRIFT_FIELD_INDEX_FIELD8 = -8
908
+ THRIFT_FIELD_INDEX_FIELD9 = -9
909
+ THRIFT_FIELD_INDEX_FIELD10 = -10
910
+ THRIFT_FIELD_INDEX_FIELD11 = -11
911
+ THRIFT_FIELD_INDEX_FIELD12 = -12
912
+
913
+ FIELDS = {
914
+ THRIFT_FIELD_INDEX_FIELD1 => {type: ::Thrift::Types::I32, name: 'field1', optional: true},
915
+ THRIFT_FIELD_INDEX_FIELD2 => {type: ::Thrift::Types::I32, name: 'field2', optional: true},
916
+ THRIFT_FIELD_INDEX_FIELD3 => {type: ::Thrift::Types::I32, name: 'field3', optional: true},
917
+ THRIFT_FIELD_INDEX_FIELD4 => {type: ::Thrift::Types::I32, name: 'field4', optional: true},
918
+ THRIFT_FIELD_INDEX_FIELD5 => {type: ::Thrift::Types::I32, name: 'field5', optional: true},
919
+ THRIFT_FIELD_INDEX_FIELD6 => {type: ::Thrift::Types::I32, name: 'field6', optional: true},
920
+ THRIFT_FIELD_INDEX_FIELD7 => {type: ::Thrift::Types::I32, name: 'field7', optional: true},
921
+ THRIFT_FIELD_INDEX_FIELD8 => {type: ::Thrift::Types::I32, name: 'field8', optional: true},
922
+ THRIFT_FIELD_INDEX_FIELD9 => {type: ::Thrift::Types::I32, name: 'field9', optional: true},
923
+ THRIFT_FIELD_INDEX_FIELD10 => {type: ::Thrift::Types::I32, name: 'field10', optional: true},
924
+ THRIFT_FIELD_INDEX_FIELD11 => {type: ::Thrift::Types::I32, name: 'field11', optional: true},
925
+ THRIFT_FIELD_INDEX_FIELD12 => {type: ::Thrift::Types::I32, name: 'field12', optional: true}
926
+ }
927
+
928
+ def struct_fields; FIELDS; end
929
+
930
+ def validate
931
+ end
932
+
933
+ ::Thrift::Struct.generate_accessors self
934
+ ::Thrift.register_struct_type self
935
+ end
936
+