thrift 0.9.0 → 0.9.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 (42) hide show
  1. checksums.yaml +15 -0
  2. data/ext/binary_protocol_accelerated.c +19 -3
  3. data/ext/compact_protocol.c +21 -7
  4. data/ext/constants.h +1 -5
  5. data/ext/extconf.rb +1 -1
  6. data/ext/protocol.c +0 -185
  7. data/ext/protocol.h +0 -20
  8. data/ext/struct.c +0 -3
  9. data/ext/thrift_native.c +1 -11
  10. data/lib/thrift.rb +1 -0
  11. data/lib/thrift/exceptions.rb +3 -0
  12. data/lib/thrift/protocol/base_protocol.rb +87 -10
  13. data/lib/thrift/protocol/binary_protocol.rb +13 -5
  14. data/lib/thrift/protocol/compact_protocol.rb +14 -7
  15. data/lib/thrift/protocol/json_protocol.rb +19 -15
  16. data/lib/thrift/server/mongrel_http_server.rb +2 -0
  17. data/lib/thrift/server/thin_http_server.rb +91 -0
  18. data/lib/thrift/struct.rb +1 -1
  19. data/lib/thrift/struct_union.rb +2 -2
  20. data/lib/thrift/transport/http_client_transport.rb +4 -1
  21. data/spec/base_protocol_spec.rb +65 -7
  22. data/spec/binary_protocol_spec_shared.rb +30 -0
  23. data/spec/compact_protocol_spec.rb +1 -3
  24. data/spec/http_client_spec.rb +49 -0
  25. data/spec/json_protocol_spec.rb +2 -2
  26. data/spec/thin_http_server_spec.rb +140 -0
  27. data/spec/union_spec.rb +13 -1
  28. metadata +113 -93
  29. data/benchmark/gen-rb/benchmark_constants.rb +0 -11
  30. data/benchmark/gen-rb/benchmark_service.rb +0 -80
  31. data/benchmark/gen-rb/benchmark_types.rb +0 -10
  32. data/spec/gen-rb/nonblocking_service.rb +0 -272
  33. data/spec/gen-rb/thrift_spec_constants.rb +0 -11
  34. data/spec/gen-rb/thrift_spec_types.rb +0 -538
  35. data/spec/mongrel_http_server_spec.rb +0 -114
  36. data/test/debug_proto/gen-rb/debug_proto_test_constants.rb +0 -274
  37. data/test/debug_proto/gen-rb/debug_proto_test_types.rb +0 -761
  38. data/test/debug_proto/gen-rb/empty_service.rb +0 -24
  39. data/test/debug_proto/gen-rb/inherited.rb +0 -79
  40. data/test/debug_proto/gen-rb/reverse_order_service.rb +0 -82
  41. data/test/debug_proto/gen-rb/service_for_exception_with_a_map.rb +0 -81
  42. data/test/debug_proto/gen-rb/srv.rb +0 -330
@@ -1,11 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
3
- #
4
- # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
- #
6
-
7
- require 'thrift'
8
- require 'benchmark_types'
9
-
10
- module ThriftBenchmark
11
- end
@@ -1,80 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
3
- #
4
- # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
- #
6
-
7
- require 'thrift'
8
- require 'benchmark_types'
9
-
10
- module ThriftBenchmark
11
- module BenchmarkService
12
- class Client
13
- include ::Thrift::Client
14
-
15
- def fibonacci(n)
16
- send_fibonacci(n)
17
- return recv_fibonacci()
18
- end
19
-
20
- def send_fibonacci(n)
21
- send_message('fibonacci', Fibonacci_args, :n => n)
22
- end
23
-
24
- def recv_fibonacci()
25
- result = receive_message(Fibonacci_result)
26
- return result.success unless result.success.nil?
27
- raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'fibonacci failed: unknown result')
28
- end
29
-
30
- end
31
-
32
- class Processor
33
- include ::Thrift::Processor
34
-
35
- def process_fibonacci(seqid, iprot, oprot)
36
- args = read_args(iprot, Fibonacci_args)
37
- result = Fibonacci_result.new()
38
- result.success = @handler.fibonacci(args.n)
39
- write_result(result, oprot, 'fibonacci', seqid)
40
- end
41
-
42
- end
43
-
44
- # HELPER FUNCTIONS AND STRUCTURES
45
-
46
- class Fibonacci_args
47
- include ::Thrift::Struct, ::Thrift::Struct_Union
48
- N = 1
49
-
50
- FIELDS = {
51
- N => {:type => ::Thrift::Types::BYTE, :name => 'n'}
52
- }
53
-
54
- def struct_fields; FIELDS; end
55
-
56
- def validate
57
- end
58
-
59
- ::Thrift::Struct.generate_accessors self
60
- end
61
-
62
- class Fibonacci_result
63
- include ::Thrift::Struct, ::Thrift::Struct_Union
64
- SUCCESS = 0
65
-
66
- FIELDS = {
67
- SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'}
68
- }
69
-
70
- def struct_fields; FIELDS; end
71
-
72
- def validate
73
- end
74
-
75
- ::Thrift::Struct.generate_accessors self
76
- end
77
-
78
- end
79
-
80
- end
@@ -1,10 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
3
- #
4
- # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
- #
6
-
7
- require 'thrift'
8
-
9
- module ThriftBenchmark
10
- end
@@ -1,272 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
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
- module NonblockingService
12
- class Client
13
- include ::Thrift::Client
14
-
15
- def greeting(english)
16
- send_greeting(english)
17
- return recv_greeting()
18
- end
19
-
20
- def send_greeting(english)
21
- send_message('greeting', Greeting_args, :english => english)
22
- end
23
-
24
- def recv_greeting()
25
- result = receive_message(Greeting_result)
26
- return result.success unless result.success.nil?
27
- raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'greeting failed: unknown result')
28
- end
29
-
30
- def block()
31
- send_block()
32
- return recv_block()
33
- end
34
-
35
- def send_block()
36
- send_message('block', Block_args)
37
- end
38
-
39
- def recv_block()
40
- result = receive_message(Block_result)
41
- return result.success unless result.success.nil?
42
- raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'block failed: unknown result')
43
- end
44
-
45
- def unblock(n)
46
- send_unblock(n)
47
- end
48
-
49
- def send_unblock(n)
50
- send_message('unblock', Unblock_args, :n => n)
51
- end
52
- def shutdown()
53
- send_shutdown()
54
- end
55
-
56
- def send_shutdown()
57
- send_message('shutdown', Shutdown_args)
58
- end
59
- def sleep(seconds)
60
- send_sleep(seconds)
61
- recv_sleep()
62
- end
63
-
64
- def send_sleep(seconds)
65
- send_message('sleep', Sleep_args, :seconds => seconds)
66
- end
67
-
68
- def recv_sleep()
69
- result = receive_message(Sleep_result)
70
- return
71
- end
72
-
73
- end
74
-
75
- class Processor
76
- include ::Thrift::Processor
77
-
78
- def process_greeting(seqid, iprot, oprot)
79
- args = read_args(iprot, Greeting_args)
80
- result = Greeting_result.new()
81
- result.success = @handler.greeting(args.english)
82
- write_result(result, oprot, 'greeting', seqid)
83
- end
84
-
85
- def process_block(seqid, iprot, oprot)
86
- args = read_args(iprot, Block_args)
87
- result = Block_result.new()
88
- result.success = @handler.block()
89
- write_result(result, oprot, 'block', seqid)
90
- end
91
-
92
- def process_unblock(seqid, iprot, oprot)
93
- args = read_args(iprot, Unblock_args)
94
- @handler.unblock(args.n)
95
- return
96
- end
97
-
98
- def process_shutdown(seqid, iprot, oprot)
99
- args = read_args(iprot, Shutdown_args)
100
- @handler.shutdown()
101
- return
102
- end
103
-
104
- def process_sleep(seqid, iprot, oprot)
105
- args = read_args(iprot, Sleep_args)
106
- result = Sleep_result.new()
107
- @handler.sleep(args.seconds)
108
- write_result(result, oprot, 'sleep', seqid)
109
- end
110
-
111
- end
112
-
113
- # HELPER FUNCTIONS AND STRUCTURES
114
-
115
- class Greeting_args
116
- include ::Thrift::Struct, ::Thrift::Struct_Union
117
- ENGLISH = 1
118
-
119
- FIELDS = {
120
- ENGLISH => {:type => ::Thrift::Types::BOOL, :name => 'english'}
121
- }
122
-
123
- def struct_fields; FIELDS; end
124
-
125
- def validate
126
- end
127
-
128
- ::Thrift::Struct.generate_accessors self
129
- end
130
-
131
- class Greeting_result
132
- include ::Thrift::Struct, ::Thrift::Struct_Union
133
- SUCCESS = 0
134
-
135
- FIELDS = {
136
- SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::SpecNamespace::Hello}
137
- }
138
-
139
- def struct_fields; FIELDS; end
140
-
141
- def validate
142
- end
143
-
144
- ::Thrift::Struct.generate_accessors self
145
- end
146
-
147
- class Block_args
148
- include ::Thrift::Struct, ::Thrift::Struct_Union
149
-
150
- FIELDS = {
151
-
152
- }
153
-
154
- def struct_fields; FIELDS; end
155
-
156
- def validate
157
- end
158
-
159
- ::Thrift::Struct.generate_accessors self
160
- end
161
-
162
- class Block_result
163
- include ::Thrift::Struct, ::Thrift::Struct_Union
164
- SUCCESS = 0
165
-
166
- FIELDS = {
167
- SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'}
168
- }
169
-
170
- def struct_fields; FIELDS; end
171
-
172
- def validate
173
- end
174
-
175
- ::Thrift::Struct.generate_accessors self
176
- end
177
-
178
- class Unblock_args
179
- include ::Thrift::Struct, ::Thrift::Struct_Union
180
- N = 1
181
-
182
- FIELDS = {
183
- N => {:type => ::Thrift::Types::I32, :name => 'n'}
184
- }
185
-
186
- def struct_fields; FIELDS; end
187
-
188
- def validate
189
- end
190
-
191
- ::Thrift::Struct.generate_accessors self
192
- end
193
-
194
- class Unblock_result
195
- include ::Thrift::Struct, ::Thrift::Struct_Union
196
-
197
- FIELDS = {
198
-
199
- }
200
-
201
- def struct_fields; FIELDS; end
202
-
203
- def validate
204
- end
205
-
206
- ::Thrift::Struct.generate_accessors self
207
- end
208
-
209
- class Shutdown_args
210
- include ::Thrift::Struct, ::Thrift::Struct_Union
211
-
212
- FIELDS = {
213
-
214
- }
215
-
216
- def struct_fields; FIELDS; end
217
-
218
- def validate
219
- end
220
-
221
- ::Thrift::Struct.generate_accessors self
222
- end
223
-
224
- class Shutdown_result
225
- include ::Thrift::Struct, ::Thrift::Struct_Union
226
-
227
- FIELDS = {
228
-
229
- }
230
-
231
- def struct_fields; FIELDS; end
232
-
233
- def validate
234
- end
235
-
236
- ::Thrift::Struct.generate_accessors self
237
- end
238
-
239
- class Sleep_args
240
- include ::Thrift::Struct, ::Thrift::Struct_Union
241
- SECONDS = 1
242
-
243
- FIELDS = {
244
- SECONDS => {:type => ::Thrift::Types::DOUBLE, :name => 'seconds'}
245
- }
246
-
247
- def struct_fields; FIELDS; end
248
-
249
- def validate
250
- end
251
-
252
- ::Thrift::Struct.generate_accessors self
253
- end
254
-
255
- class Sleep_result
256
- include ::Thrift::Struct, ::Thrift::Struct_Union
257
-
258
- FIELDS = {
259
-
260
- }
261
-
262
- def struct_fields; FIELDS; end
263
-
264
- def validate
265
- end
266
-
267
- ::Thrift::Struct.generate_accessors self
268
- end
269
-
270
- end
271
-
272
- end
@@ -1,11 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
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
@@ -1,538 +0,0 @@
1
- #
2
- # Autogenerated by Thrift Compiler (0.9.0)
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