blob: 3b49fce1ada576716668d564486ed5fdbcd4029e [file] [log] [blame]
Kevin Clarke0fddde2008-06-18 01:16:02 +00001#
2# Autogenerated by Thrift
3#
4# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5#
6
Kevin Clarke0fddde2008-06-18 01:16:02 +00007require 'thrift'
Kevin Clark3836f9b2008-06-24 01:05:51 +00008require 'thrift/protocol'
Kevin Clark2bd3a302008-06-26 17:49:49 +00009require File.dirname(__FILE__) + '/ThriftSpec_types'
Kevin Clarke0fddde2008-06-18 01:16:02 +000010
11 module SpecNamespace
12 module NonblockingService
13 class Client
14 include Thrift::Client
15
16 def greeting(english)
17 send_greeting(english)
18 return recv_greeting()
19 end
20
21 def send_greeting(english)
22 send_message('greeting', Greeting_args, :english => english)
23 end
24
25 def recv_greeting()
26 result = receive_message(Greeting_result)
27 return result.success unless result.success.nil?
28 raise Thrift::ApplicationException.new(Thrift::ApplicationException::MISSING_RESULT, 'greeting failed: unknown result')
29 end
30
31 def block()
32 send_block()
33 return recv_block()
34 end
35
36 def send_block()
37 send_message('block', Block_args)
38 end
39
40 def recv_block()
41 result = receive_message(Block_result)
42 return result.success unless result.success.nil?
43 raise Thrift::ApplicationException.new(Thrift::ApplicationException::MISSING_RESULT, 'block failed: unknown result')
44 end
45
Kevin Clark980e4452008-06-18 01:19:59 +000046 def unblock(n)
47 send_unblock(n)
Kevin Clarke0fddde2008-06-18 01:16:02 +000048 end
49
Kevin Clark980e4452008-06-18 01:19:59 +000050 def send_unblock(n)
51 send_message('unblock', Unblock_args, :n => n)
Kevin Clarke0fddde2008-06-18 01:16:02 +000052 end
53 def shutdown()
54 send_shutdown()
55 end
56
57 def send_shutdown()
58 send_message('shutdown', Shutdown_args)
59 end
60 def sleep(seconds)
61 send_sleep(seconds)
62 recv_sleep()
63 end
64
65 def send_sleep(seconds)
66 send_message('sleep', Sleep_args, :seconds => seconds)
67 end
68
69 def recv_sleep()
70 result = receive_message(Sleep_result)
71 return
72 end
73
74 end
75
76 class Processor
77 include Thrift::Processor
78
79 def process_greeting(seqid, iprot, oprot)
80 args = read_args(iprot, Greeting_args)
81 result = Greeting_result.new()
82 result.success = @handler.greeting(args.english)
83 write_result(result, oprot, 'greeting', seqid)
84 end
85
86 def process_block(seqid, iprot, oprot)
87 args = read_args(iprot, Block_args)
88 result = Block_result.new()
89 result.success = @handler.block()
90 write_result(result, oprot, 'block', seqid)
91 end
92
93 def process_unblock(seqid, iprot, oprot)
94 args = read_args(iprot, Unblock_args)
Kevin Clark980e4452008-06-18 01:19:59 +000095 @handler.unblock(args.n)
Kevin Clarke0fddde2008-06-18 01:16:02 +000096 return
97 end
98
99 def process_shutdown(seqid, iprot, oprot)
100 args = read_args(iprot, Shutdown_args)
101 @handler.shutdown()
102 return
103 end
104
105 def process_sleep(seqid, iprot, oprot)
106 args = read_args(iprot, Sleep_args)
107 result = Sleep_result.new()
108 @handler.sleep(args.seconds)
109 write_result(result, oprot, 'sleep', seqid)
110 end
111
112 end
113
114 # HELPER FUNCTIONS AND STRUCTURES
115
116 class Greeting_args
117 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000118 ENGLISH = 1
119
Kevin Clark23193752008-06-18 01:18:07 +0000120 Thrift::Struct.field_accessor self, :english
Kevin Clarke0fddde2008-06-18 01:16:02 +0000121 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000122 ENGLISH => {:type => Thrift::Types::BOOL, :name => 'english'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000123 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000124
125 def struct_fields; FIELDS; end
126
Kevin Clark159383f2008-11-11 05:46:04 +0000127 def validate
128 end
129
Kevin Clarke0fddde2008-06-18 01:16:02 +0000130 end
131
132 class Greeting_result
133 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000134 SUCCESS = 0
135
Kevin Clark23193752008-06-18 01:18:07 +0000136 Thrift::Struct.field_accessor self, :success
Kevin Clarke0fddde2008-06-18 01:16:02 +0000137 FIELDS = {
Kevin Clark41baeab2009-01-05 23:10:17 +0000138 SUCCESS => {:type => Thrift::Types::STRUCT, :name => 'success', :class => SpecNamespace::Hello}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000139 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000140
141 def struct_fields; FIELDS; end
142
Kevin Clark159383f2008-11-11 05:46:04 +0000143 def validate
144 end
145
Kevin Clarke0fddde2008-06-18 01:16:02 +0000146 end
147
148 class Block_args
149 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000150
Kevin Clarke0fddde2008-06-18 01:16:02 +0000151 FIELDS = {
152
153 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000154
155 def struct_fields; FIELDS; end
156
Kevin Clark159383f2008-11-11 05:46:04 +0000157 def validate
158 end
159
Kevin Clarke0fddde2008-06-18 01:16:02 +0000160 end
161
162 class Block_result
163 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000164 SUCCESS = 0
165
Kevin Clark23193752008-06-18 01:18:07 +0000166 Thrift::Struct.field_accessor self, :success
Kevin Clarke0fddde2008-06-18 01:16:02 +0000167 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000168 SUCCESS => {:type => Thrift::Types::BOOL, :name => 'success'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000169 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000170
171 def struct_fields; FIELDS; end
172
Kevin Clark159383f2008-11-11 05:46:04 +0000173 def validate
174 end
175
Kevin Clarke0fddde2008-06-18 01:16:02 +0000176 end
177
178 class Unblock_args
179 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000180 N = 1
181
Kevin Clark980e4452008-06-18 01:19:59 +0000182 Thrift::Struct.field_accessor self, :n
Kevin Clarke0fddde2008-06-18 01:16:02 +0000183 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000184 N => {:type => Thrift::Types::I32, :name => 'n'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000185 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000186
187 def struct_fields; FIELDS; end
188
Kevin Clark159383f2008-11-11 05:46:04 +0000189 def validate
190 end
191
Kevin Clarke0fddde2008-06-18 01:16:02 +0000192 end
193
194 class Unblock_result
195 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000196
Kevin Clarke0fddde2008-06-18 01:16:02 +0000197 FIELDS = {
198
199 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000200
201 def struct_fields; FIELDS; end
202
Kevin Clark159383f2008-11-11 05:46:04 +0000203 def validate
204 end
205
Kevin Clarke0fddde2008-06-18 01:16:02 +0000206 end
207
208 class Shutdown_args
209 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000210
Kevin Clarke0fddde2008-06-18 01:16:02 +0000211 FIELDS = {
212
213 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000214
215 def struct_fields; FIELDS; end
216
Kevin Clark159383f2008-11-11 05:46:04 +0000217 def validate
218 end
219
Kevin Clarke0fddde2008-06-18 01:16:02 +0000220 end
221
222 class Shutdown_result
223 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000224
Kevin Clarke0fddde2008-06-18 01:16:02 +0000225 FIELDS = {
226
227 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000228
229 def struct_fields; FIELDS; end
230
Kevin Clark159383f2008-11-11 05:46:04 +0000231 def validate
232 end
233
Kevin Clarke0fddde2008-06-18 01:16:02 +0000234 end
235
236 class Sleep_args
237 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000238 SECONDS = 1
239
Kevin Clark23193752008-06-18 01:18:07 +0000240 Thrift::Struct.field_accessor self, :seconds
Kevin Clarke0fddde2008-06-18 01:16:02 +0000241 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000242 SECONDS => {:type => Thrift::Types::DOUBLE, :name => 'seconds'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000243 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000244
245 def struct_fields; FIELDS; end
246
Kevin Clark159383f2008-11-11 05:46:04 +0000247 def validate
248 end
249
Kevin Clarke0fddde2008-06-18 01:16:02 +0000250 end
251
252 class Sleep_result
253 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000254
Kevin Clarke0fddde2008-06-18 01:16:02 +0000255 FIELDS = {
256
257 }
Kevin Clarkd6b71822009-01-06 01:34:28 +0000258
259 def struct_fields; FIELDS; end
260
Kevin Clark159383f2008-11-11 05:46:04 +0000261 def validate
262 end
263
Kevin Clarke0fddde2008-06-18 01:16:02 +0000264 end
265
266 end
267
268 end