blob: a886805822fdee5f23fa4c245c96525a6484608e [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 Clark159383f2008-11-11 05:46:04 +0000124 def validate
125 end
126
Kevin Clarke0fddde2008-06-18 01:16:02 +0000127 end
128
129 class Greeting_result
130 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000131 SUCCESS = 0
132
Kevin Clark23193752008-06-18 01:18:07 +0000133 Thrift::Struct.field_accessor self, :success
Kevin Clarke0fddde2008-06-18 01:16:02 +0000134 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000135 SUCCESS => {:type => Thrift::Types::STRUCT, :name => 'success', :class => Hello}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000136 }
Kevin Clark159383f2008-11-11 05:46:04 +0000137 def validate
138 end
139
Kevin Clarke0fddde2008-06-18 01:16:02 +0000140 end
141
142 class Block_args
143 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000144
Kevin Clarke0fddde2008-06-18 01:16:02 +0000145 FIELDS = {
146
147 }
Kevin Clark159383f2008-11-11 05:46:04 +0000148 def validate
149 end
150
Kevin Clarke0fddde2008-06-18 01:16:02 +0000151 end
152
153 class Block_result
154 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000155 SUCCESS = 0
156
Kevin Clark23193752008-06-18 01:18:07 +0000157 Thrift::Struct.field_accessor self, :success
Kevin Clarke0fddde2008-06-18 01:16:02 +0000158 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000159 SUCCESS => {:type => Thrift::Types::BOOL, :name => 'success'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000160 }
Kevin Clark159383f2008-11-11 05:46:04 +0000161 def validate
162 end
163
Kevin Clarke0fddde2008-06-18 01:16:02 +0000164 end
165
166 class Unblock_args
167 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000168 N = 1
169
Kevin Clark980e4452008-06-18 01:19:59 +0000170 Thrift::Struct.field_accessor self, :n
Kevin Clarke0fddde2008-06-18 01:16:02 +0000171 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000172 N => {:type => Thrift::Types::I32, :name => 'n'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000173 }
Kevin Clark159383f2008-11-11 05:46:04 +0000174 def validate
175 end
176
Kevin Clarke0fddde2008-06-18 01:16:02 +0000177 end
178
179 class Unblock_result
180 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000181
Kevin Clarke0fddde2008-06-18 01:16:02 +0000182 FIELDS = {
183
184 }
Kevin Clark159383f2008-11-11 05:46:04 +0000185 def validate
186 end
187
Kevin Clarke0fddde2008-06-18 01:16:02 +0000188 end
189
190 class Shutdown_args
191 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000192
Kevin Clarke0fddde2008-06-18 01:16:02 +0000193 FIELDS = {
194
195 }
Kevin Clark159383f2008-11-11 05:46:04 +0000196 def validate
197 end
198
Kevin Clarke0fddde2008-06-18 01:16:02 +0000199 end
200
201 class Shutdown_result
202 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000203
Kevin Clarke0fddde2008-06-18 01:16:02 +0000204 FIELDS = {
205
206 }
Kevin Clark159383f2008-11-11 05:46:04 +0000207 def validate
208 end
209
Kevin Clarke0fddde2008-06-18 01:16:02 +0000210 end
211
212 class Sleep_args
213 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000214 SECONDS = 1
215
Kevin Clark23193752008-06-18 01:18:07 +0000216 Thrift::Struct.field_accessor self, :seconds
Kevin Clarke0fddde2008-06-18 01:16:02 +0000217 FIELDS = {
Kevin Clark7dc7f752008-10-16 19:15:20 +0000218 SECONDS => {:type => Thrift::Types::DOUBLE, :name => 'seconds'}
Kevin Clarke0fddde2008-06-18 01:16:02 +0000219 }
Kevin Clark159383f2008-11-11 05:46:04 +0000220 def validate
221 end
222
Kevin Clarke0fddde2008-06-18 01:16:02 +0000223 end
224
225 class Sleep_result
226 include Thrift::Struct
Kevin Clark7dc7f752008-10-16 19:15:20 +0000227
Kevin Clarke0fddde2008-06-18 01:16:02 +0000228 FIELDS = {
229
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 end
237
238 end