upfluence-thrift 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +43 -0
  3. data/benchmark/Benchmark.thrift +24 -0
  4. data/benchmark/benchmark.rb +271 -0
  5. data/benchmark/client.rb +74 -0
  6. data/benchmark/gen-rb/benchmark_constants.rb +11 -0
  7. data/benchmark/gen-rb/benchmark_service.rb +80 -0
  8. data/benchmark/gen-rb/benchmark_types.rb +10 -0
  9. data/benchmark/server.rb +82 -0
  10. data/benchmark/thin_server.rb +44 -0
  11. data/ext/binary_protocol_accelerated.c +460 -0
  12. data/ext/binary_protocol_accelerated.h +20 -0
  13. data/ext/bytes.c +36 -0
  14. data/ext/bytes.h +31 -0
  15. data/ext/compact_protocol.c +637 -0
  16. data/ext/compact_protocol.h +20 -0
  17. data/ext/constants.h +99 -0
  18. data/ext/extconf.rb +34 -0
  19. data/ext/macros.h +41 -0
  20. data/ext/memory_buffer.c +134 -0
  21. data/ext/memory_buffer.h +20 -0
  22. data/ext/protocol.c +0 -0
  23. data/ext/protocol.h +0 -0
  24. data/ext/strlcpy.c +41 -0
  25. data/ext/strlcpy.h +34 -0
  26. data/ext/struct.c +707 -0
  27. data/ext/struct.h +25 -0
  28. data/ext/thrift_native.c +201 -0
  29. data/lib/thrift.rb +68 -0
  30. data/lib/thrift/bytes.rb +131 -0
  31. data/lib/thrift/client.rb +71 -0
  32. data/lib/thrift/core_ext.rb +23 -0
  33. data/lib/thrift/core_ext/fixnum.rb +29 -0
  34. data/lib/thrift/exceptions.rb +87 -0
  35. data/lib/thrift/multiplexed_processor.rb +76 -0
  36. data/lib/thrift/processor.rb +57 -0
  37. data/lib/thrift/protocol/base_protocol.rb +379 -0
  38. data/lib/thrift/protocol/binary_protocol.rb +237 -0
  39. data/lib/thrift/protocol/binary_protocol_accelerated.rb +39 -0
  40. data/lib/thrift/protocol/compact_protocol.rb +435 -0
  41. data/lib/thrift/protocol/json_protocol.rb +769 -0
  42. data/lib/thrift/protocol/multiplexed_protocol.rb +40 -0
  43. data/lib/thrift/protocol/protocol_decorator.rb +194 -0
  44. data/lib/thrift/serializer/deserializer.rb +33 -0
  45. data/lib/thrift/serializer/serializer.rb +34 -0
  46. data/lib/thrift/server/base_server.rb +31 -0
  47. data/lib/thrift/server/mongrel_http_server.rb +60 -0
  48. data/lib/thrift/server/nonblocking_server.rb +305 -0
  49. data/lib/thrift/server/rack_application.rb +61 -0
  50. data/lib/thrift/server/simple_server.rb +43 -0
  51. data/lib/thrift/server/thin_http_server.rb +51 -0
  52. data/lib/thrift/server/thread_pool_server.rb +75 -0
  53. data/lib/thrift/server/threaded_server.rb +47 -0
  54. data/lib/thrift/struct.rb +237 -0
  55. data/lib/thrift/struct_union.rb +192 -0
  56. data/lib/thrift/thrift_native.rb +24 -0
  57. data/lib/thrift/transport/base_server_transport.rb +37 -0
  58. data/lib/thrift/transport/base_transport.rb +109 -0
  59. data/lib/thrift/transport/buffered_transport.rb +114 -0
  60. data/lib/thrift/transport/framed_transport.rb +117 -0
  61. data/lib/thrift/transport/http_client_transport.rb +56 -0
  62. data/lib/thrift/transport/io_stream_transport.rb +39 -0
  63. data/lib/thrift/transport/memory_buffer_transport.rb +125 -0
  64. data/lib/thrift/transport/server_socket.rb +63 -0
  65. data/lib/thrift/transport/socket.rb +139 -0
  66. data/lib/thrift/transport/unix_server_socket.rb +60 -0
  67. data/lib/thrift/transport/unix_socket.rb +40 -0
  68. data/lib/thrift/types.rb +101 -0
  69. data/lib/thrift/union.rb +179 -0
  70. data/spec/BaseService.thrift +27 -0
  71. data/spec/ExtendedService.thrift +25 -0
  72. data/spec/Referenced.thrift +44 -0
  73. data/spec/ThriftNamespacedSpec.thrift +53 -0
  74. data/spec/ThriftSpec.thrift +183 -0
  75. data/spec/base_protocol_spec.rb +217 -0
  76. data/spec/base_transport_spec.rb +350 -0
  77. data/spec/binary_protocol_accelerated_spec.rb +42 -0
  78. data/spec/binary_protocol_spec.rb +66 -0
  79. data/spec/binary_protocol_spec_shared.rb +455 -0
  80. data/spec/bytes_spec.rb +160 -0
  81. data/spec/client_spec.rb +99 -0
  82. data/spec/compact_protocol_spec.rb +143 -0
  83. data/spec/exception_spec.rb +141 -0
  84. data/spec/flat_spec.rb +62 -0
  85. data/spec/gen-rb/base/base_service.rb +80 -0
  86. data/spec/gen-rb/base/base_service_constants.rb +11 -0
  87. data/spec/gen-rb/base/base_service_types.rb +26 -0
  88. data/spec/gen-rb/extended/extended_service.rb +78 -0
  89. data/spec/gen-rb/extended/extended_service_constants.rb +11 -0
  90. data/spec/gen-rb/extended/extended_service_types.rb +12 -0
  91. data/spec/gen-rb/flat/namespaced_nonblocking_service.rb +272 -0
  92. data/spec/gen-rb/flat/referenced_constants.rb +11 -0
  93. data/spec/gen-rb/flat/referenced_types.rb +17 -0
  94. data/spec/gen-rb/flat/thrift_namespaced_spec_constants.rb +11 -0
  95. data/spec/gen-rb/flat/thrift_namespaced_spec_types.rb +28 -0
  96. data/spec/gen-rb/namespaced_spec_namespace/namespaced_nonblocking_service.rb +272 -0
  97. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_constants.rb +11 -0
  98. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_types.rb +28 -0
  99. data/spec/gen-rb/nonblocking_service.rb +272 -0
  100. data/spec/gen-rb/other_namespace/referenced_constants.rb +11 -0
  101. data/spec/gen-rb/other_namespace/referenced_types.rb +17 -0
  102. data/spec/gen-rb/thrift_spec_constants.rb +11 -0
  103. data/spec/gen-rb/thrift_spec_types.rb +538 -0
  104. data/spec/http_client_spec.rb +120 -0
  105. data/spec/json_protocol_spec.rb +513 -0
  106. data/spec/namespaced_spec.rb +67 -0
  107. data/spec/nonblocking_server_spec.rb +263 -0
  108. data/spec/processor_spec.rb +80 -0
  109. data/spec/serializer_spec.rb +67 -0
  110. data/spec/server_socket_spec.rb +79 -0
  111. data/spec/server_spec.rb +147 -0
  112. data/spec/socket_spec.rb +61 -0
  113. data/spec/socket_spec_shared.rb +104 -0
  114. data/spec/spec_helper.rb +64 -0
  115. data/spec/struct_nested_containers_spec.rb +191 -0
  116. data/spec/struct_spec.rb +293 -0
  117. data/spec/thin_http_server_spec.rb +141 -0
  118. data/spec/types_spec.rb +115 -0
  119. data/spec/union_spec.rb +203 -0
  120. data/spec/unix_socket_spec.rb +107 -0
  121. data/test/debug_proto/gen-rb/debug_proto_test_constants.rb +274 -0
  122. data/test/debug_proto/gen-rb/debug_proto_test_types.rb +761 -0
  123. data/test/debug_proto/gen-rb/empty_service.rb +24 -0
  124. data/test/debug_proto/gen-rb/inherited.rb +79 -0
  125. data/test/debug_proto/gen-rb/reverse_order_service.rb +82 -0
  126. data/test/debug_proto/gen-rb/service_for_exception_with_a_map.rb +81 -0
  127. data/test/debug_proto/gen-rb/srv.rb +330 -0
  128. metadata +388 -0
@@ -0,0 +1,11 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (1.0.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'other_namespace/referenced_types'
9
+
10
+ module OtherNamespace
11
+ end
@@ -0,0 +1,17 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (1.0.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 OtherNamespace
10
+ module SomeEnum
11
+ ONE = 0
12
+ TWO = 1
13
+ VALUE_MAP = {0 => "ONE", 1 => "TWO"}
14
+ VALID_VALUES = Set.new([ONE, TWO]).freeze
15
+ end
16
+
17
+ end
@@ -0,0 +1,11 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (1.0.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'thrift_spec_types'
9
+
10
+ module SpecNamespace
11
+ end
@@ -0,0 +1,538 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (1.0.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 SpecNamespace
10
+ module SomeEnum
11
+ ONE = 0
12
+ TWO = 1
13
+ VALUE_MAP = {0 => "ONE", 1 => "TWO"}
14
+ VALID_VALUES = Set.new([ONE, TWO]).freeze
15
+ end
16
+
17
+ class Hello
18
+ include ::Thrift::Struct, ::Thrift::Struct_Union
19
+ GREETING = 1
20
+
21
+ FIELDS = {
22
+ GREETING => {:type => ::Thrift::Types::STRING, :name => 'greeting', :default => %q"hello world"}
23
+ }
24
+
25
+ def struct_fields; FIELDS; end
26
+
27
+ def validate
28
+ end
29
+
30
+ ::Thrift::Struct.generate_accessors self
31
+ end
32
+
33
+ class StructWithSomeEnum
34
+ include ::Thrift::Struct, ::Thrift::Struct_Union
35
+ SOME_ENUM = 1
36
+
37
+ FIELDS = {
38
+ SOME_ENUM => {:type => ::Thrift::Types::I32, :name => 'some_enum', :enum_class => ::SpecNamespace::SomeEnum}
39
+ }
40
+
41
+ def struct_fields; FIELDS; end
42
+
43
+ def validate
44
+ unless @some_enum.nil? || ::SpecNamespace::SomeEnum::VALID_VALUES.include?(@some_enum)
45
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field some_enum!')
46
+ end
47
+ end
48
+
49
+ ::Thrift::Struct.generate_accessors self
50
+ end
51
+
52
+ class TestUnion < ::Thrift::Union
53
+ include ::Thrift::Struct_Union
54
+ class << self
55
+ def string_field(val)
56
+ TestUnion.new(:string_field, val)
57
+ end
58
+
59
+ def i32_field(val)
60
+ TestUnion.new(:i32_field, val)
61
+ end
62
+
63
+ def other_i32_field(val)
64
+ TestUnion.new(:other_i32_field, val)
65
+ end
66
+
67
+ def enum_field(val)
68
+ TestUnion.new(:enum_field, val)
69
+ end
70
+
71
+ def binary_field(val)
72
+ TestUnion.new(:binary_field, val)
73
+ end
74
+ end
75
+
76
+ STRING_FIELD = 1
77
+ I32_FIELD = 2
78
+ OTHER_I32_FIELD = 3
79
+ ENUM_FIELD = 4
80
+ BINARY_FIELD = 5
81
+
82
+ FIELDS = {
83
+ # A doc string
84
+ STRING_FIELD => {:type => ::Thrift::Types::STRING, :name => 'string_field'},
85
+ I32_FIELD => {:type => ::Thrift::Types::I32, :name => 'i32_field'},
86
+ OTHER_I32_FIELD => {:type => ::Thrift::Types::I32, :name => 'other_i32_field'},
87
+ ENUM_FIELD => {:type => ::Thrift::Types::I32, :name => 'enum_field', :enum_class => ::SpecNamespace::SomeEnum},
88
+ BINARY_FIELD => {:type => ::Thrift::Types::STRING, :name => 'binary_field', :binary => true}
89
+ }
90
+
91
+ def struct_fields; FIELDS; end
92
+
93
+ def validate
94
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
95
+ if get_set_field == :enum_field
96
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field enum_field!') unless ::SpecNamespace::SomeEnum::VALID_VALUES.include?(get_value)
97
+ end
98
+ end
99
+
100
+ ::Thrift::Union.generate_accessors self
101
+ end
102
+
103
+ class Foo
104
+ include ::Thrift::Struct, ::Thrift::Struct_Union
105
+ SIMPLE = 1
106
+ WORDS = 2
107
+ HELLO = 3
108
+ INTS = 4
109
+ COMPLEX = 5
110
+ SHORTS = 6
111
+ OPT_STRING = 7
112
+ MY_BOOL = 8
113
+
114
+ FIELDS = {
115
+ SIMPLE => {:type => ::Thrift::Types::I32, :name => 'simple', :default => 53},
116
+ WORDS => {:type => ::Thrift::Types::STRING, :name => 'words', :default => %q"words"},
117
+ HELLO => {:type => ::Thrift::Types::STRUCT, :name => 'hello', :default => ::SpecNamespace::Hello.new({
118
+ %q"greeting" => %q"hello, world!",
119
+ }), :class => ::SpecNamespace::Hello},
120
+ INTS => {:type => ::Thrift::Types::LIST, :name => 'ints', :default => [
121
+ 1,
122
+ 2,
123
+ 2,
124
+ 3,
125
+ ], :element => {:type => ::Thrift::Types::I32}},
126
+ COMPLEX => {:type => ::Thrift::Types::MAP, :name => 'complex', :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::DOUBLE}}},
127
+ SHORTS => {:type => ::Thrift::Types::SET, :name => 'shorts', :default => Set.new([
128
+ 5,
129
+ 17,
130
+ 239,
131
+ ]), :element => {:type => ::Thrift::Types::I16}},
132
+ OPT_STRING => {:type => ::Thrift::Types::STRING, :name => 'opt_string', :optional => true},
133
+ MY_BOOL => {:type => ::Thrift::Types::BOOL, :name => 'my_bool'}
134
+ }
135
+
136
+ def struct_fields; FIELDS; end
137
+
138
+ def validate
139
+ end
140
+
141
+ ::Thrift::Struct.generate_accessors self
142
+ end
143
+
144
+ class Foo2
145
+ include ::Thrift::Struct, ::Thrift::Struct_Union
146
+ MY_BINARY = 1
147
+
148
+ FIELDS = {
149
+ MY_BINARY => {:type => ::Thrift::Types::STRING, :name => 'my_binary', :binary => true}
150
+ }
151
+
152
+ def struct_fields; FIELDS; end
153
+
154
+ def validate
155
+ end
156
+
157
+ ::Thrift::Struct.generate_accessors self
158
+ end
159
+
160
+ class BoolStruct
161
+ include ::Thrift::Struct, ::Thrift::Struct_Union
162
+ YESNO = 1
163
+
164
+ FIELDS = {
165
+ YESNO => {:type => ::Thrift::Types::BOOL, :name => 'yesno', :default => true}
166
+ }
167
+
168
+ def struct_fields; FIELDS; end
169
+
170
+ def validate
171
+ end
172
+
173
+ ::Thrift::Struct.generate_accessors self
174
+ end
175
+
176
+ class SimpleList
177
+ include ::Thrift::Struct, ::Thrift::Struct_Union
178
+ BOOLS = 1
179
+ BYTES = 2
180
+ I16S = 3
181
+ I32S = 4
182
+ I64S = 5
183
+ DOUBLES = 6
184
+ STRINGS = 7
185
+ MAPS = 8
186
+ LISTS = 9
187
+ SETS = 10
188
+ HELLOS = 11
189
+
190
+ FIELDS = {
191
+ BOOLS => {:type => ::Thrift::Types::LIST, :name => 'bools', :element => {:type => ::Thrift::Types::BOOL}},
192
+ BYTES => {:type => ::Thrift::Types::LIST, :name => 'bytes', :element => {:type => ::Thrift::Types::BYTE}},
193
+ I16S => {:type => ::Thrift::Types::LIST, :name => 'i16s', :element => {:type => ::Thrift::Types::I16}},
194
+ I32S => {:type => ::Thrift::Types::LIST, :name => 'i32s', :element => {:type => ::Thrift::Types::I32}},
195
+ I64S => {:type => ::Thrift::Types::LIST, :name => 'i64s', :element => {:type => ::Thrift::Types::I64}},
196
+ DOUBLES => {:type => ::Thrift::Types::LIST, :name => 'doubles', :element => {:type => ::Thrift::Types::DOUBLE}},
197
+ STRINGS => {:type => ::Thrift::Types::LIST, :name => 'strings', :element => {:type => ::Thrift::Types::STRING}},
198
+ MAPS => {:type => ::Thrift::Types::LIST, :name => 'maps', :element => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I16}, :value => {:type => ::Thrift::Types::I16}}},
199
+ LISTS => {:type => ::Thrift::Types::LIST, :name => 'lists', :element => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::I16}}},
200
+ SETS => {:type => ::Thrift::Types::LIST, :name => 'sets', :element => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I16}}},
201
+ HELLOS => {:type => ::Thrift::Types::LIST, :name => 'hellos', :element => {:type => ::Thrift::Types::STRUCT, :class => ::SpecNamespace::Hello}}
202
+ }
203
+
204
+ def struct_fields; FIELDS; end
205
+
206
+ def validate
207
+ end
208
+
209
+ ::Thrift::Struct.generate_accessors self
210
+ end
211
+
212
+ class Xception < ::Thrift::Exception
213
+ include ::Thrift::Struct, ::Thrift::Struct_Union
214
+ MESSAGE = 1
215
+ CODE = 2
216
+
217
+ FIELDS = {
218
+ MESSAGE => {:type => ::Thrift::Types::STRING, :name => 'message'},
219
+ CODE => {:type => ::Thrift::Types::I32, :name => 'code', :default => 1}
220
+ }
221
+
222
+ def struct_fields; FIELDS; end
223
+
224
+ def validate
225
+ end
226
+
227
+ ::Thrift::Struct.generate_accessors self
228
+ end
229
+
230
+ class My_union < ::Thrift::Union
231
+ include ::Thrift::Struct_Union
232
+ class << self
233
+ def im_true(val)
234
+ My_union.new(:im_true, val)
235
+ end
236
+
237
+ def a_bite(val)
238
+ My_union.new(:a_bite, val)
239
+ end
240
+
241
+ def integer16(val)
242
+ My_union.new(:integer16, val)
243
+ end
244
+
245
+ def integer32(val)
246
+ My_union.new(:integer32, val)
247
+ end
248
+
249
+ def integer64(val)
250
+ My_union.new(:integer64, val)
251
+ end
252
+
253
+ def double_precision(val)
254
+ My_union.new(:double_precision, val)
255
+ end
256
+
257
+ def some_characters(val)
258
+ My_union.new(:some_characters, val)
259
+ end
260
+
261
+ def other_i32(val)
262
+ My_union.new(:other_i32, val)
263
+ end
264
+
265
+ def some_enum(val)
266
+ My_union.new(:some_enum, val)
267
+ end
268
+
269
+ def my_map(val)
270
+ My_union.new(:my_map, val)
271
+ end
272
+ end
273
+
274
+ IM_TRUE = 1
275
+ A_BITE = 2
276
+ INTEGER16 = 3
277
+ INTEGER32 = 4
278
+ INTEGER64 = 5
279
+ DOUBLE_PRECISION = 6
280
+ SOME_CHARACTERS = 7
281
+ OTHER_I32 = 8
282
+ SOME_ENUM = 9
283
+ MY_MAP = 10
284
+
285
+ FIELDS = {
286
+ IM_TRUE => {:type => ::Thrift::Types::BOOL, :name => 'im_true'},
287
+ A_BITE => {:type => ::Thrift::Types::BYTE, :name => 'a_bite'},
288
+ INTEGER16 => {:type => ::Thrift::Types::I16, :name => 'integer16'},
289
+ INTEGER32 => {:type => ::Thrift::Types::I32, :name => 'integer32'},
290
+ INTEGER64 => {:type => ::Thrift::Types::I64, :name => 'integer64'},
291
+ DOUBLE_PRECISION => {:type => ::Thrift::Types::DOUBLE, :name => 'double_precision'},
292
+ SOME_CHARACTERS => {:type => ::Thrift::Types::STRING, :name => 'some_characters'},
293
+ OTHER_I32 => {:type => ::Thrift::Types::I32, :name => 'other_i32'},
294
+ SOME_ENUM => {:type => ::Thrift::Types::I32, :name => 'some_enum', :enum_class => ::SpecNamespace::SomeEnum},
295
+ MY_MAP => {:type => ::Thrift::Types::MAP, :name => 'my_map', :key => {:type => ::Thrift::Types::I32, :enum_class => ::SpecNamespace::SomeEnum}, :value => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::I32, :enum_class => ::SpecNamespace::SomeEnum}}}
296
+ }
297
+
298
+ def struct_fields; FIELDS; end
299
+
300
+ def validate
301
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
302
+ if get_set_field == :some_enum
303
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field some_enum!') unless ::SpecNamespace::SomeEnum::VALID_VALUES.include?(get_value)
304
+ end
305
+ end
306
+
307
+ ::Thrift::Union.generate_accessors self
308
+ end
309
+
310
+ class Struct_with_union
311
+ include ::Thrift::Struct, ::Thrift::Struct_Union
312
+ FUN_UNION = 1
313
+ INTEGER32 = 2
314
+ SOME_CHARACTERS = 3
315
+
316
+ FIELDS = {
317
+ FUN_UNION => {:type => ::Thrift::Types::STRUCT, :name => 'fun_union', :class => ::SpecNamespace::My_union},
318
+ INTEGER32 => {:type => ::Thrift::Types::I32, :name => 'integer32'},
319
+ SOME_CHARACTERS => {:type => ::Thrift::Types::STRING, :name => 'some_characters'}
320
+ }
321
+
322
+ def struct_fields; FIELDS; end
323
+
324
+ def validate
325
+ end
326
+
327
+ ::Thrift::Struct.generate_accessors self
328
+ end
329
+
330
+ class StructWithEnumMap
331
+ include ::Thrift::Struct, ::Thrift::Struct_Union
332
+ MY_MAP = 1
333
+
334
+ FIELDS = {
335
+ MY_MAP => {:type => ::Thrift::Types::MAP, :name => 'my_map', :key => {:type => ::Thrift::Types::I32, :enum_class => ::SpecNamespace::SomeEnum}, :value => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::I32, :enum_class => ::SpecNamespace::SomeEnum}}}
336
+ }
337
+
338
+ def struct_fields; FIELDS; end
339
+
340
+ def validate
341
+ end
342
+
343
+ ::Thrift::Struct.generate_accessors self
344
+ end
345
+
346
+ class NestedListInList
347
+ include ::Thrift::Struct, ::Thrift::Struct_Union
348
+ VALUE = 1
349
+
350
+ FIELDS = {
351
+ VALUE => {:type => ::Thrift::Types::LIST, :name => 'value', :element => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::BYTE}}}
352
+ }
353
+
354
+ def struct_fields; FIELDS; end
355
+
356
+ def validate
357
+ end
358
+
359
+ ::Thrift::Struct.generate_accessors self
360
+ end
361
+
362
+ class NestedListInSet
363
+ include ::Thrift::Struct, ::Thrift::Struct_Union
364
+ VALUE = 1
365
+
366
+ FIELDS = {
367
+ VALUE => {:type => ::Thrift::Types::SET, :name => 'value', :element => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::BYTE}}}
368
+ }
369
+
370
+ def struct_fields; FIELDS; end
371
+
372
+ def validate
373
+ end
374
+
375
+ ::Thrift::Struct.generate_accessors self
376
+ end
377
+
378
+ class NestedListInMapKey
379
+ include ::Thrift::Struct, ::Thrift::Struct_Union
380
+ VALUE = 1
381
+
382
+ FIELDS = {
383
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::BYTE}}, :value => {:type => ::Thrift::Types::BYTE}}
384
+ }
385
+
386
+ def struct_fields; FIELDS; end
387
+
388
+ def validate
389
+ end
390
+
391
+ ::Thrift::Struct.generate_accessors self
392
+ end
393
+
394
+ class NestedListInMapValue
395
+ include ::Thrift::Struct, ::Thrift::Struct_Union
396
+ VALUE = 1
397
+
398
+ FIELDS = {
399
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::LIST, :element => {:type => ::Thrift::Types::BYTE}}}
400
+ }
401
+
402
+ def struct_fields; FIELDS; end
403
+
404
+ def validate
405
+ end
406
+
407
+ ::Thrift::Struct.generate_accessors self
408
+ end
409
+
410
+ class NestedSetInList
411
+ include ::Thrift::Struct, ::Thrift::Struct_Union
412
+ VALUE = 1
413
+
414
+ FIELDS = {
415
+ VALUE => {:type => ::Thrift::Types::LIST, :name => 'value', :element => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::BYTE}}}
416
+ }
417
+
418
+ def struct_fields; FIELDS; end
419
+
420
+ def validate
421
+ end
422
+
423
+ ::Thrift::Struct.generate_accessors self
424
+ end
425
+
426
+ class NestedSetInSet
427
+ include ::Thrift::Struct, ::Thrift::Struct_Union
428
+ VALUE = 1
429
+
430
+ FIELDS = {
431
+ VALUE => {:type => ::Thrift::Types::SET, :name => 'value', :element => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::BYTE}}}
432
+ }
433
+
434
+ def struct_fields; FIELDS; end
435
+
436
+ def validate
437
+ end
438
+
439
+ ::Thrift::Struct.generate_accessors self
440
+ end
441
+
442
+ class NestedSetInMapKey
443
+ include ::Thrift::Struct, ::Thrift::Struct_Union
444
+ VALUE = 1
445
+
446
+ FIELDS = {
447
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::BYTE}}, :value => {:type => ::Thrift::Types::BYTE}}
448
+ }
449
+
450
+ def struct_fields; FIELDS; end
451
+
452
+ def validate
453
+ end
454
+
455
+ ::Thrift::Struct.generate_accessors self
456
+ end
457
+
458
+ class NestedSetInMapValue
459
+ include ::Thrift::Struct, ::Thrift::Struct_Union
460
+ VALUE = 1
461
+
462
+ FIELDS = {
463
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::BYTE}}}
464
+ }
465
+
466
+ def struct_fields; FIELDS; end
467
+
468
+ def validate
469
+ end
470
+
471
+ ::Thrift::Struct.generate_accessors self
472
+ end
473
+
474
+ class NestedMapInList
475
+ include ::Thrift::Struct, ::Thrift::Struct_Union
476
+ VALUE = 1
477
+
478
+ FIELDS = {
479
+ VALUE => {:type => ::Thrift::Types::LIST, :name => 'value', :element => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::BYTE}}}
480
+ }
481
+
482
+ def struct_fields; FIELDS; end
483
+
484
+ def validate
485
+ end
486
+
487
+ ::Thrift::Struct.generate_accessors self
488
+ end
489
+
490
+ class NestedMapInSet
491
+ include ::Thrift::Struct, ::Thrift::Struct_Union
492
+ VALUE = 1
493
+
494
+ FIELDS = {
495
+ VALUE => {:type => ::Thrift::Types::SET, :name => 'value', :element => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::BYTE}}}
496
+ }
497
+
498
+ def struct_fields; FIELDS; end
499
+
500
+ def validate
501
+ end
502
+
503
+ ::Thrift::Struct.generate_accessors self
504
+ end
505
+
506
+ class NestedMapInMapKey
507
+ include ::Thrift::Struct, ::Thrift::Struct_Union
508
+ VALUE = 2
509
+
510
+ FIELDS = {
511
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::BYTE}}, :value => {:type => ::Thrift::Types::BYTE}}
512
+ }
513
+
514
+ def struct_fields; FIELDS; end
515
+
516
+ def validate
517
+ end
518
+
519
+ ::Thrift::Struct.generate_accessors self
520
+ end
521
+
522
+ class NestedMapInMapValue
523
+ include ::Thrift::Struct, ::Thrift::Struct_Union
524
+ VALUE = 2
525
+
526
+ FIELDS = {
527
+ VALUE => {:type => ::Thrift::Types::MAP, :name => 'value', :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::BYTE}, :value => {:type => ::Thrift::Types::BYTE}}}
528
+ }
529
+
530
+ def struct_fields; FIELDS; end
531
+
532
+ def validate
533
+ end
534
+
535
+ ::Thrift::Struct.generate_accessors self
536
+ end
537
+
538
+ end