ganapati 0.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.
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ JARFILE=$HADOOP_HOME/lib/HadoopThriftServer.jar
3
+ CONTRIBLIB=$HADOOP_HOME/src/contrib/thriftfs/lib
4
+ CLASSPATH=$(ls $HADOOP_HOME/hadoop-core-*.jar):$(ls $HADOOP_HOME/lib/commons-logging-api-*.jar):$CONTRIBLIB/hadoopthriftapi.jar:$CONTRIBLIB/libthrift.jar:$HADOOP_HOME/conf
5
+
6
+ if [ "$1" == "" ]; then
7
+ echo "Usage: $0 <port>"
8
+ exit 1
9
+ fi
10
+
11
+ if [ ! -e "$JARFILE" ]; then
12
+ echo "Creating thrift server jar file at $JARFILE"
13
+ mkdir -p /tmp/HadoopThriftServer
14
+ javac -classpath $CLASSPATH -d /tmp/HadoopThriftServer/ $CONTRIBLIB/../src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java
15
+ jar -cf $JARFILE -C /tmp/HadoopThriftServer/ .
16
+ else
17
+ echo "Found jar file at $JARFILE"
18
+ fi
19
+
20
+ java -Dcom.sun.management.jmxremote -cp $JARFILE:$CLASSPATH org.apache.hadoop.thriftfs.HadoopThriftServer $1
@@ -0,0 +1,7 @@
1
+ require 'ganapati/client'
2
+ require 'ganapati/hfile'
3
+
4
+ $:.unshift File.join(File.dirname(__FILE__), 'thrift')
5
+ require 'thrift_hadoop_file_system'
6
+ require 'hadoopfs_constants'
7
+
@@ -0,0 +1,124 @@
1
+ module Ganapati
2
+
3
+ class Client
4
+ def initialize(server, port, timeout=60)
5
+ socket = Thrift::Socket.new(server, port)
6
+ @transport = Thrift::BufferedTransport.new(socket)
7
+ @transport.open
8
+ protocol = Thrift::BinaryProtocol.new(@transport)
9
+ @client = ThriftHadoopFileSystem::Client.new(protocol)
10
+ @client.setInactivityTimeoutPeriod(timeout)
11
+ end
12
+
13
+ def close
14
+ @transport.close
15
+ end
16
+
17
+ # shutdown the thrift server
18
+ def shutdown(status=0)
19
+ @client.shutdown status
20
+ end
21
+
22
+ # copy local file to remote
23
+ def put(localpath, destpath)
24
+ create(destpath) { |dest|
25
+ Kernel.open(localpath) { |source|
26
+ # read 1 MB at a time
27
+ while record = source.read(1048576)
28
+ dest.write(record)
29
+ end
30
+ }
31
+ }
32
+ end
33
+
34
+ # copy remote file to local
35
+ def get(remotepath, destpath)
36
+ Kernel.open(destpath, 'w') { |dest|
37
+ open(remotepath) { |source|
38
+ size = source.length
39
+ index = 0
40
+ while index < size
41
+ dest.write(source.read(index, 1048576))
42
+ index += 1048576
43
+ end
44
+ }
45
+ }
46
+ end
47
+
48
+ # for writing to a new file
49
+ def create(path, &block)
50
+ file_handle :create, path, &block
51
+ end
52
+
53
+ # for reading
54
+ def open(path, &block)
55
+ file_handle :open, path, &block
56
+ end
57
+
58
+ # for appending
59
+ def append(path, &block)
60
+ file_handle :append, path, &block
61
+ end
62
+
63
+ def rm(path, recursive=false)
64
+ @client.rm pname(path), recursive
65
+ end
66
+
67
+ def mv(source, dest)
68
+ @client.rename pname(source), pname(dest)
69
+ end
70
+
71
+ def mkdir(path)
72
+ @client.mkdirs pname(path)
73
+ end
74
+
75
+ def exists?(path)
76
+ @client.exists pname(path)
77
+ end
78
+
79
+ def stat(path)
80
+ @client.stat pname(path)
81
+ end
82
+
83
+ def ls(path, details=false)
84
+ statuses = @client.listStatus pname(path)
85
+ (details) ? statuses : statuses.map { |s| s.path }
86
+ end
87
+
88
+ def chmod(path, mode)
89
+ @client.chmod pname(path), mode
90
+ end
91
+
92
+ def chown(path, owner, group)
93
+ @client.chown pname(path), owner, group
94
+ end
95
+
96
+ def set_replication(path, level)
97
+ @client.setReplication pname(path), level
98
+ end
99
+
100
+ def self.run(server, port)
101
+ c = Client.new(server, port)
102
+ result = yield c
103
+ c.close
104
+ result
105
+ end
106
+
107
+ private
108
+ def file_handle(action, path)
109
+ pathname = pname(path)
110
+ fh = @client.send action, pathname
111
+ result = f = HFile.new(@client, fh, pathname)
112
+ if block_given?
113
+ result = yield f
114
+ f.close
115
+ end
116
+ result
117
+ end
118
+
119
+ def pname(path)
120
+ Pathname.new(:pathname => path.to_s)
121
+ end
122
+ end
123
+
124
+ end
@@ -0,0 +1,37 @@
1
+ module Ganapati
2
+
3
+ class HFile
4
+ def initialize(client, handle, pathname)
5
+ @client = client
6
+ @handle = handle
7
+ @pathname = pathname
8
+ end
9
+
10
+ def write(data)
11
+ call :write, data
12
+ end
13
+
14
+ def read(offset=0, size=nil)
15
+ size ||= stat.length
16
+ call :read, offset, size
17
+ end
18
+
19
+ def close
20
+ call :close
21
+ end
22
+
23
+ def stat
24
+ @client.stat(@pathname)
25
+ end
26
+
27
+ def length
28
+ stat.length
29
+ end
30
+
31
+ private
32
+ def call(method, *args)
33
+ @client.send method, @handle, *args
34
+ end
35
+ end
36
+
37
+ end
@@ -0,0 +1,8 @@
1
+ #
2
+ # Autogenerated by Thrift
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'hadoopfs_types'
8
+
@@ -0,0 +1,135 @@
1
+ #
2
+ # Autogenerated by Thrift
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+
8
+ class ThriftHandle
9
+ include ::Thrift::Struct, ::Thrift::Struct_Union
10
+ ID = -1
11
+
12
+ FIELDS = {
13
+ ID => {:type => ::Thrift::Types::I64, :name => 'id'}
14
+ }
15
+
16
+ def struct_fields; FIELDS; end
17
+
18
+ def validate
19
+ end
20
+
21
+ ::Thrift::Struct.generate_accessors self
22
+ end
23
+
24
+ class Pathname
25
+ include ::Thrift::Struct, ::Thrift::Struct_Union
26
+ PATHNAME = -1
27
+
28
+ FIELDS = {
29
+ PATHNAME => {:type => ::Thrift::Types::STRING, :name => 'pathname'}
30
+ }
31
+
32
+ def struct_fields; FIELDS; end
33
+
34
+ def validate
35
+ end
36
+
37
+ ::Thrift::Struct.generate_accessors self
38
+ end
39
+
40
+ class FileStatus
41
+ include ::Thrift::Struct, ::Thrift::Struct_Union
42
+ PATH = 1
43
+ LENGTH = 2
44
+ ISDIR = 3
45
+ BLOCK_REPLICATION = 4
46
+ BLOCKSIZE = 5
47
+ MODIFICATION_TIME = 6
48
+ PERMISSION = 7
49
+ OWNER = 8
50
+ GROUP = 9
51
+
52
+ FIELDS = {
53
+ PATH => {:type => ::Thrift::Types::STRING, :name => 'path'},
54
+ LENGTH => {:type => ::Thrift::Types::I64, :name => 'length'},
55
+ ISDIR => {:type => ::Thrift::Types::BOOL, :name => 'isdir'},
56
+ BLOCK_REPLICATION => {:type => ::Thrift::Types::I16, :name => 'block_replication'},
57
+ BLOCKSIZE => {:type => ::Thrift::Types::I64, :name => 'blocksize'},
58
+ MODIFICATION_TIME => {:type => ::Thrift::Types::I64, :name => 'modification_time'},
59
+ PERMISSION => {:type => ::Thrift::Types::STRING, :name => 'permission'},
60
+ OWNER => {:type => ::Thrift::Types::STRING, :name => 'owner'},
61
+ GROUP => {:type => ::Thrift::Types::STRING, :name => 'group'}
62
+ }
63
+
64
+ def struct_fields; FIELDS; end
65
+
66
+ def validate
67
+ end
68
+
69
+ ::Thrift::Struct.generate_accessors self
70
+ end
71
+
72
+ class BlockLocation
73
+ include ::Thrift::Struct, ::Thrift::Struct_Union
74
+ HOSTS = 1
75
+ NAMES = 2
76
+ OFFSET = 3
77
+ LENGTH = 4
78
+
79
+ FIELDS = {
80
+ HOSTS => {:type => ::Thrift::Types::LIST, :name => 'hosts', :element => {:type => ::Thrift::Types::STRING}},
81
+ NAMES => {:type => ::Thrift::Types::LIST, :name => 'names', :element => {:type => ::Thrift::Types::STRING}},
82
+ OFFSET => {:type => ::Thrift::Types::I64, :name => 'offset'},
83
+ LENGTH => {:type => ::Thrift::Types::I64, :name => 'length'}
84
+ }
85
+
86
+ def struct_fields; FIELDS; end
87
+
88
+ def validate
89
+ end
90
+
91
+ ::Thrift::Struct.generate_accessors self
92
+ end
93
+
94
+ class MalformedInputException < ::Thrift::Exception
95
+ include ::Thrift::Struct, ::Thrift::Struct_Union
96
+ def initialize(message=nil)
97
+ super()
98
+ self.message = message
99
+ end
100
+
101
+ MESSAGE = -1
102
+
103
+ FIELDS = {
104
+ MESSAGE => {:type => ::Thrift::Types::STRING, :name => 'message'}
105
+ }
106
+
107
+ def struct_fields; FIELDS; end
108
+
109
+ def validate
110
+ end
111
+
112
+ ::Thrift::Struct.generate_accessors self
113
+ end
114
+
115
+ class ThriftIOException < ::Thrift::Exception
116
+ include ::Thrift::Struct, ::Thrift::Struct_Union
117
+ def initialize(message=nil)
118
+ super()
119
+ self.message = message
120
+ end
121
+
122
+ MESSAGE = -1
123
+
124
+ FIELDS = {
125
+ MESSAGE => {:type => ::Thrift::Types::STRING, :name => 'message'}
126
+ }
127
+
128
+ def struct_fields; FIELDS; end
129
+
130
+ def validate
131
+ end
132
+
133
+ ::Thrift::Struct.generate_accessors self
134
+ end
135
+
@@ -0,0 +1,1188 @@
1
+ #
2
+ # Autogenerated by Thrift
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'hadoopfs_types'
9
+
10
+ module ThriftHadoopFileSystem
11
+ class Client
12
+ include ::Thrift::Client
13
+
14
+ def setInactivityTimeoutPeriod(periodInSeconds)
15
+ send_setInactivityTimeoutPeriod(periodInSeconds)
16
+ recv_setInactivityTimeoutPeriod()
17
+ end
18
+
19
+ def send_setInactivityTimeoutPeriod(periodInSeconds)
20
+ send_message('setInactivityTimeoutPeriod', SetInactivityTimeoutPeriod_args, :periodInSeconds => periodInSeconds)
21
+ end
22
+
23
+ def recv_setInactivityTimeoutPeriod()
24
+ result = receive_message(SetInactivityTimeoutPeriod_result)
25
+ return
26
+ end
27
+
28
+ def shutdown(status)
29
+ send_shutdown(status)
30
+ recv_shutdown()
31
+ end
32
+
33
+ def send_shutdown(status)
34
+ send_message('shutdown', Shutdown_args, :status => status)
35
+ end
36
+
37
+ def recv_shutdown()
38
+ result = receive_message(Shutdown_result)
39
+ return
40
+ end
41
+
42
+ def create(path)
43
+ send_create(path)
44
+ return recv_create()
45
+ end
46
+
47
+ def send_create(path)
48
+ send_message('create', Create_args, :path => path)
49
+ end
50
+
51
+ def recv_create()
52
+ result = receive_message(Create_result)
53
+ return result.success unless result.success.nil?
54
+ raise result.ouch unless result.ouch.nil?
55
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'create failed: unknown result')
56
+ end
57
+
58
+ def createFile(path, mode, overwrite, bufferSize, block_replication, blocksize)
59
+ send_createFile(path, mode, overwrite, bufferSize, block_replication, blocksize)
60
+ return recv_createFile()
61
+ end
62
+
63
+ def send_createFile(path, mode, overwrite, bufferSize, block_replication, blocksize)
64
+ send_message('createFile', CreateFile_args, :path => path, :mode => mode, :overwrite => overwrite, :bufferSize => bufferSize, :block_replication => block_replication, :blocksize => blocksize)
65
+ end
66
+
67
+ def recv_createFile()
68
+ result = receive_message(CreateFile_result)
69
+ return result.success unless result.success.nil?
70
+ raise result.ouch unless result.ouch.nil?
71
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createFile failed: unknown result')
72
+ end
73
+
74
+ def open(path)
75
+ send_open(path)
76
+ return recv_open()
77
+ end
78
+
79
+ def send_open(path)
80
+ send_message('open', Open_args, :path => path)
81
+ end
82
+
83
+ def recv_open()
84
+ result = receive_message(Open_result)
85
+ return result.success unless result.success.nil?
86
+ raise result.ouch unless result.ouch.nil?
87
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'open failed: unknown result')
88
+ end
89
+
90
+ def append(path)
91
+ send_append(path)
92
+ return recv_append()
93
+ end
94
+
95
+ def send_append(path)
96
+ send_message('append', Append_args, :path => path)
97
+ end
98
+
99
+ def recv_append()
100
+ result = receive_message(Append_result)
101
+ return result.success unless result.success.nil?
102
+ raise result.ouch unless result.ouch.nil?
103
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'append failed: unknown result')
104
+ end
105
+
106
+ def write(handle, data)
107
+ send_write(handle, data)
108
+ return recv_write()
109
+ end
110
+
111
+ def send_write(handle, data)
112
+ send_message('write', Write_args, :handle => handle, :data => data)
113
+ end
114
+
115
+ def recv_write()
116
+ result = receive_message(Write_result)
117
+ return result.success unless result.success.nil?
118
+ raise result.ouch unless result.ouch.nil?
119
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'write failed: unknown result')
120
+ end
121
+
122
+ def read(handle, offset, size)
123
+ send_read(handle, offset, size)
124
+ return recv_read()
125
+ end
126
+
127
+ def send_read(handle, offset, size)
128
+ send_message('read', Read_args, :handle => handle, :offset => offset, :size => size)
129
+ end
130
+
131
+ def recv_read()
132
+ result = receive_message(Read_result)
133
+ return result.success unless result.success.nil?
134
+ raise result.ouch unless result.ouch.nil?
135
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'read failed: unknown result')
136
+ end
137
+
138
+ def close(out)
139
+ send_close(out)
140
+ return recv_close()
141
+ end
142
+
143
+ def send_close(out)
144
+ send_message('close', Close_args, :out => out)
145
+ end
146
+
147
+ def recv_close()
148
+ result = receive_message(Close_result)
149
+ return result.success unless result.success.nil?
150
+ raise result.ouch unless result.ouch.nil?
151
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'close failed: unknown result')
152
+ end
153
+
154
+ def rm(path, recursive)
155
+ send_rm(path, recursive)
156
+ return recv_rm()
157
+ end
158
+
159
+ def send_rm(path, recursive)
160
+ send_message('rm', Rm_args, :path => path, :recursive => recursive)
161
+ end
162
+
163
+ def recv_rm()
164
+ result = receive_message(Rm_result)
165
+ return result.success unless result.success.nil?
166
+ raise result.ouch unless result.ouch.nil?
167
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'rm failed: unknown result')
168
+ end
169
+
170
+ def rename(path, dest)
171
+ send_rename(path, dest)
172
+ return recv_rename()
173
+ end
174
+
175
+ def send_rename(path, dest)
176
+ send_message('rename', Rename_args, :path => path, :dest => dest)
177
+ end
178
+
179
+ def recv_rename()
180
+ result = receive_message(Rename_result)
181
+ return result.success unless result.success.nil?
182
+ raise result.ouch unless result.ouch.nil?
183
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'rename failed: unknown result')
184
+ end
185
+
186
+ def mkdirs(path)
187
+ send_mkdirs(path)
188
+ return recv_mkdirs()
189
+ end
190
+
191
+ def send_mkdirs(path)
192
+ send_message('mkdirs', Mkdirs_args, :path => path)
193
+ end
194
+
195
+ def recv_mkdirs()
196
+ result = receive_message(Mkdirs_result)
197
+ return result.success unless result.success.nil?
198
+ raise result.ouch unless result.ouch.nil?
199
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'mkdirs failed: unknown result')
200
+ end
201
+
202
+ def exists(path)
203
+ send_exists(path)
204
+ return recv_exists()
205
+ end
206
+
207
+ def send_exists(path)
208
+ send_message('exists', Exists_args, :path => path)
209
+ end
210
+
211
+ def recv_exists()
212
+ result = receive_message(Exists_result)
213
+ return result.success unless result.success.nil?
214
+ raise result.ouch unless result.ouch.nil?
215
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'exists failed: unknown result')
216
+ end
217
+
218
+ def stat(path)
219
+ send_stat(path)
220
+ return recv_stat()
221
+ end
222
+
223
+ def send_stat(path)
224
+ send_message('stat', Stat_args, :path => path)
225
+ end
226
+
227
+ def recv_stat()
228
+ result = receive_message(Stat_result)
229
+ return result.success unless result.success.nil?
230
+ raise result.ouch unless result.ouch.nil?
231
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'stat failed: unknown result')
232
+ end
233
+
234
+ def listStatus(path)
235
+ send_listStatus(path)
236
+ return recv_listStatus()
237
+ end
238
+
239
+ def send_listStatus(path)
240
+ send_message('listStatus', ListStatus_args, :path => path)
241
+ end
242
+
243
+ def recv_listStatus()
244
+ result = receive_message(ListStatus_result)
245
+ return result.success unless result.success.nil?
246
+ raise result.ouch unless result.ouch.nil?
247
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listStatus failed: unknown result')
248
+ end
249
+
250
+ def chmod(path, mode)
251
+ send_chmod(path, mode)
252
+ recv_chmod()
253
+ end
254
+
255
+ def send_chmod(path, mode)
256
+ send_message('chmod', Chmod_args, :path => path, :mode => mode)
257
+ end
258
+
259
+ def recv_chmod()
260
+ result = receive_message(Chmod_result)
261
+ raise result.ouch unless result.ouch.nil?
262
+ return
263
+ end
264
+
265
+ def chown(path, owner, group)
266
+ send_chown(path, owner, group)
267
+ recv_chown()
268
+ end
269
+
270
+ def send_chown(path, owner, group)
271
+ send_message('chown', Chown_args, :path => path, :owner => owner, :group => group)
272
+ end
273
+
274
+ def recv_chown()
275
+ result = receive_message(Chown_result)
276
+ raise result.ouch unless result.ouch.nil?
277
+ return
278
+ end
279
+
280
+ def setReplication(path, replication)
281
+ send_setReplication(path, replication)
282
+ recv_setReplication()
283
+ end
284
+
285
+ def send_setReplication(path, replication)
286
+ send_message('setReplication', SetReplication_args, :path => path, :replication => replication)
287
+ end
288
+
289
+ def recv_setReplication()
290
+ result = receive_message(SetReplication_result)
291
+ raise result.ouch unless result.ouch.nil?
292
+ return
293
+ end
294
+
295
+ def getFileBlockLocations(path, start, length)
296
+ send_getFileBlockLocations(path, start, length)
297
+ return recv_getFileBlockLocations()
298
+ end
299
+
300
+ def send_getFileBlockLocations(path, start, length)
301
+ send_message('getFileBlockLocations', GetFileBlockLocations_args, :path => path, :start => start, :length => length)
302
+ end
303
+
304
+ def recv_getFileBlockLocations()
305
+ result = receive_message(GetFileBlockLocations_result)
306
+ return result.success unless result.success.nil?
307
+ raise result.ouch unless result.ouch.nil?
308
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getFileBlockLocations failed: unknown result')
309
+ end
310
+
311
+ end
312
+
313
+ class Processor
314
+ include ::Thrift::Processor
315
+
316
+ def process_setInactivityTimeoutPeriod(seqid, iprot, oprot)
317
+ args = read_args(iprot, SetInactivityTimeoutPeriod_args)
318
+ result = SetInactivityTimeoutPeriod_result.new()
319
+ @handler.setInactivityTimeoutPeriod(args.periodInSeconds)
320
+ write_result(result, oprot, 'setInactivityTimeoutPeriod', seqid)
321
+ end
322
+
323
+ def process_shutdown(seqid, iprot, oprot)
324
+ args = read_args(iprot, Shutdown_args)
325
+ result = Shutdown_result.new()
326
+ @handler.shutdown(args.status)
327
+ write_result(result, oprot, 'shutdown', seqid)
328
+ end
329
+
330
+ def process_create(seqid, iprot, oprot)
331
+ args = read_args(iprot, Create_args)
332
+ result = Create_result.new()
333
+ begin
334
+ result.success = @handler.create(args.path)
335
+ rescue ThriftIOException => ouch
336
+ result.ouch = ouch
337
+ end
338
+ write_result(result, oprot, 'create', seqid)
339
+ end
340
+
341
+ def process_createFile(seqid, iprot, oprot)
342
+ args = read_args(iprot, CreateFile_args)
343
+ result = CreateFile_result.new()
344
+ begin
345
+ result.success = @handler.createFile(args.path, args.mode, args.overwrite, args.bufferSize, args.block_replication, args.blocksize)
346
+ rescue ThriftIOException => ouch
347
+ result.ouch = ouch
348
+ end
349
+ write_result(result, oprot, 'createFile', seqid)
350
+ end
351
+
352
+ def process_open(seqid, iprot, oprot)
353
+ args = read_args(iprot, Open_args)
354
+ result = Open_result.new()
355
+ begin
356
+ result.success = @handler.open(args.path)
357
+ rescue ThriftIOException => ouch
358
+ result.ouch = ouch
359
+ end
360
+ write_result(result, oprot, 'open', seqid)
361
+ end
362
+
363
+ def process_append(seqid, iprot, oprot)
364
+ args = read_args(iprot, Append_args)
365
+ result = Append_result.new()
366
+ begin
367
+ result.success = @handler.append(args.path)
368
+ rescue ThriftIOException => ouch
369
+ result.ouch = ouch
370
+ end
371
+ write_result(result, oprot, 'append', seqid)
372
+ end
373
+
374
+ def process_write(seqid, iprot, oprot)
375
+ args = read_args(iprot, Write_args)
376
+ result = Write_result.new()
377
+ begin
378
+ result.success = @handler.write(args.handle, args.data)
379
+ rescue ThriftIOException => ouch
380
+ result.ouch = ouch
381
+ end
382
+ write_result(result, oprot, 'write', seqid)
383
+ end
384
+
385
+ def process_read(seqid, iprot, oprot)
386
+ args = read_args(iprot, Read_args)
387
+ result = Read_result.new()
388
+ begin
389
+ result.success = @handler.read(args.handle, args.offset, args.size)
390
+ rescue ThriftIOException => ouch
391
+ result.ouch = ouch
392
+ end
393
+ write_result(result, oprot, 'read', seqid)
394
+ end
395
+
396
+ def process_close(seqid, iprot, oprot)
397
+ args = read_args(iprot, Close_args)
398
+ result = Close_result.new()
399
+ begin
400
+ result.success = @handler.close(args.out)
401
+ rescue ThriftIOException => ouch
402
+ result.ouch = ouch
403
+ end
404
+ write_result(result, oprot, 'close', seqid)
405
+ end
406
+
407
+ def process_rm(seqid, iprot, oprot)
408
+ args = read_args(iprot, Rm_args)
409
+ result = Rm_result.new()
410
+ begin
411
+ result.success = @handler.rm(args.path, args.recursive)
412
+ rescue ThriftIOException => ouch
413
+ result.ouch = ouch
414
+ end
415
+ write_result(result, oprot, 'rm', seqid)
416
+ end
417
+
418
+ def process_rename(seqid, iprot, oprot)
419
+ args = read_args(iprot, Rename_args)
420
+ result = Rename_result.new()
421
+ begin
422
+ result.success = @handler.rename(args.path, args.dest)
423
+ rescue ThriftIOException => ouch
424
+ result.ouch = ouch
425
+ end
426
+ write_result(result, oprot, 'rename', seqid)
427
+ end
428
+
429
+ def process_mkdirs(seqid, iprot, oprot)
430
+ args = read_args(iprot, Mkdirs_args)
431
+ result = Mkdirs_result.new()
432
+ begin
433
+ result.success = @handler.mkdirs(args.path)
434
+ rescue ThriftIOException => ouch
435
+ result.ouch = ouch
436
+ end
437
+ write_result(result, oprot, 'mkdirs', seqid)
438
+ end
439
+
440
+ def process_exists(seqid, iprot, oprot)
441
+ args = read_args(iprot, Exists_args)
442
+ result = Exists_result.new()
443
+ begin
444
+ result.success = @handler.exists(args.path)
445
+ rescue ThriftIOException => ouch
446
+ result.ouch = ouch
447
+ end
448
+ write_result(result, oprot, 'exists', seqid)
449
+ end
450
+
451
+ def process_stat(seqid, iprot, oprot)
452
+ args = read_args(iprot, Stat_args)
453
+ result = Stat_result.new()
454
+ begin
455
+ result.success = @handler.stat(args.path)
456
+ rescue ThriftIOException => ouch
457
+ result.ouch = ouch
458
+ end
459
+ write_result(result, oprot, 'stat', seqid)
460
+ end
461
+
462
+ def process_listStatus(seqid, iprot, oprot)
463
+ args = read_args(iprot, ListStatus_args)
464
+ result = ListStatus_result.new()
465
+ begin
466
+ result.success = @handler.listStatus(args.path)
467
+ rescue ThriftIOException => ouch
468
+ result.ouch = ouch
469
+ end
470
+ write_result(result, oprot, 'listStatus', seqid)
471
+ end
472
+
473
+ def process_chmod(seqid, iprot, oprot)
474
+ args = read_args(iprot, Chmod_args)
475
+ result = Chmod_result.new()
476
+ begin
477
+ @handler.chmod(args.path, args.mode)
478
+ rescue ThriftIOException => ouch
479
+ result.ouch = ouch
480
+ end
481
+ write_result(result, oprot, 'chmod', seqid)
482
+ end
483
+
484
+ def process_chown(seqid, iprot, oprot)
485
+ args = read_args(iprot, Chown_args)
486
+ result = Chown_result.new()
487
+ begin
488
+ @handler.chown(args.path, args.owner, args.group)
489
+ rescue ThriftIOException => ouch
490
+ result.ouch = ouch
491
+ end
492
+ write_result(result, oprot, 'chown', seqid)
493
+ end
494
+
495
+ def process_setReplication(seqid, iprot, oprot)
496
+ args = read_args(iprot, SetReplication_args)
497
+ result = SetReplication_result.new()
498
+ begin
499
+ @handler.setReplication(args.path, args.replication)
500
+ rescue ThriftIOException => ouch
501
+ result.ouch = ouch
502
+ end
503
+ write_result(result, oprot, 'setReplication', seqid)
504
+ end
505
+
506
+ def process_getFileBlockLocations(seqid, iprot, oprot)
507
+ args = read_args(iprot, GetFileBlockLocations_args)
508
+ result = GetFileBlockLocations_result.new()
509
+ begin
510
+ result.success = @handler.getFileBlockLocations(args.path, args.start, args.length)
511
+ rescue ThriftIOException => ouch
512
+ result.ouch = ouch
513
+ end
514
+ write_result(result, oprot, 'getFileBlockLocations', seqid)
515
+ end
516
+
517
+ end
518
+
519
+ # HELPER FUNCTIONS AND STRUCTURES
520
+
521
+ class SetInactivityTimeoutPeriod_args
522
+ include ::Thrift::Struct, ::Thrift::Struct_Union
523
+ PERIODINSECONDS = 1
524
+
525
+ FIELDS = {
526
+ PERIODINSECONDS => {:type => ::Thrift::Types::I64, :name => 'periodInSeconds'}
527
+ }
528
+
529
+ def struct_fields; FIELDS; end
530
+
531
+ def validate
532
+ end
533
+
534
+ ::Thrift::Struct.generate_accessors self
535
+ end
536
+
537
+ class SetInactivityTimeoutPeriod_result
538
+ include ::Thrift::Struct, ::Thrift::Struct_Union
539
+
540
+ FIELDS = {
541
+
542
+ }
543
+
544
+ def struct_fields; FIELDS; end
545
+
546
+ def validate
547
+ end
548
+
549
+ ::Thrift::Struct.generate_accessors self
550
+ end
551
+
552
+ class Shutdown_args
553
+ include ::Thrift::Struct, ::Thrift::Struct_Union
554
+ STATUS = 1
555
+
556
+ FIELDS = {
557
+ STATUS => {:type => ::Thrift::Types::I32, :name => 'status'}
558
+ }
559
+
560
+ def struct_fields; FIELDS; end
561
+
562
+ def validate
563
+ end
564
+
565
+ ::Thrift::Struct.generate_accessors self
566
+ end
567
+
568
+ class Shutdown_result
569
+ include ::Thrift::Struct, ::Thrift::Struct_Union
570
+
571
+ FIELDS = {
572
+
573
+ }
574
+
575
+ def struct_fields; FIELDS; end
576
+
577
+ def validate
578
+ end
579
+
580
+ ::Thrift::Struct.generate_accessors self
581
+ end
582
+
583
+ class Create_args
584
+ include ::Thrift::Struct, ::Thrift::Struct_Union
585
+ PATH = 1
586
+
587
+ FIELDS = {
588
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
589
+ }
590
+
591
+ def struct_fields; FIELDS; end
592
+
593
+ def validate
594
+ end
595
+
596
+ ::Thrift::Struct.generate_accessors self
597
+ end
598
+
599
+ class Create_result
600
+ include ::Thrift::Struct, ::Thrift::Struct_Union
601
+ SUCCESS = 0
602
+ OUCH = 1
603
+
604
+ FIELDS = {
605
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ThriftHandle},
606
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
607
+ }
608
+
609
+ def struct_fields; FIELDS; end
610
+
611
+ def validate
612
+ end
613
+
614
+ ::Thrift::Struct.generate_accessors self
615
+ end
616
+
617
+ class CreateFile_args
618
+ include ::Thrift::Struct, ::Thrift::Struct_Union
619
+ PATH = 1
620
+ MODE = 2
621
+ OVERWRITE = 3
622
+ BUFFERSIZE = 4
623
+ BLOCK_REPLICATION = 5
624
+ BLOCKSIZE = 6
625
+
626
+ FIELDS = {
627
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
628
+ MODE => {:type => ::Thrift::Types::I16, :name => 'mode'},
629
+ OVERWRITE => {:type => ::Thrift::Types::BOOL, :name => 'overwrite'},
630
+ BUFFERSIZE => {:type => ::Thrift::Types::I32, :name => 'bufferSize'},
631
+ BLOCK_REPLICATION => {:type => ::Thrift::Types::I16, :name => 'block_replication'},
632
+ BLOCKSIZE => {:type => ::Thrift::Types::I64, :name => 'blocksize'}
633
+ }
634
+
635
+ def struct_fields; FIELDS; end
636
+
637
+ def validate
638
+ end
639
+
640
+ ::Thrift::Struct.generate_accessors self
641
+ end
642
+
643
+ class CreateFile_result
644
+ include ::Thrift::Struct, ::Thrift::Struct_Union
645
+ SUCCESS = 0
646
+ OUCH = 1
647
+
648
+ FIELDS = {
649
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ThriftHandle},
650
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
651
+ }
652
+
653
+ def struct_fields; FIELDS; end
654
+
655
+ def validate
656
+ end
657
+
658
+ ::Thrift::Struct.generate_accessors self
659
+ end
660
+
661
+ class Open_args
662
+ include ::Thrift::Struct, ::Thrift::Struct_Union
663
+ PATH = 1
664
+
665
+ FIELDS = {
666
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
667
+ }
668
+
669
+ def struct_fields; FIELDS; end
670
+
671
+ def validate
672
+ end
673
+
674
+ ::Thrift::Struct.generate_accessors self
675
+ end
676
+
677
+ class Open_result
678
+ include ::Thrift::Struct, ::Thrift::Struct_Union
679
+ SUCCESS = 0
680
+ OUCH = 1
681
+
682
+ FIELDS = {
683
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ThriftHandle},
684
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
685
+ }
686
+
687
+ def struct_fields; FIELDS; end
688
+
689
+ def validate
690
+ end
691
+
692
+ ::Thrift::Struct.generate_accessors self
693
+ end
694
+
695
+ class Append_args
696
+ include ::Thrift::Struct, ::Thrift::Struct_Union
697
+ PATH = 1
698
+
699
+ FIELDS = {
700
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
701
+ }
702
+
703
+ def struct_fields; FIELDS; end
704
+
705
+ def validate
706
+ end
707
+
708
+ ::Thrift::Struct.generate_accessors self
709
+ end
710
+
711
+ class Append_result
712
+ include ::Thrift::Struct, ::Thrift::Struct_Union
713
+ SUCCESS = 0
714
+ OUCH = 1
715
+
716
+ FIELDS = {
717
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ThriftHandle},
718
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
719
+ }
720
+
721
+ def struct_fields; FIELDS; end
722
+
723
+ def validate
724
+ end
725
+
726
+ ::Thrift::Struct.generate_accessors self
727
+ end
728
+
729
+ class Write_args
730
+ include ::Thrift::Struct, ::Thrift::Struct_Union
731
+ HANDLE = 1
732
+ DATA = -1
733
+
734
+ FIELDS = {
735
+ HANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'handle', :class => ThriftHandle},
736
+ DATA => {:type => ::Thrift::Types::STRING, :name => 'data'}
737
+ }
738
+
739
+ def struct_fields; FIELDS; end
740
+
741
+ def validate
742
+ end
743
+
744
+ ::Thrift::Struct.generate_accessors self
745
+ end
746
+
747
+ class Write_result
748
+ include ::Thrift::Struct, ::Thrift::Struct_Union
749
+ SUCCESS = 0
750
+ OUCH = 1
751
+
752
+ FIELDS = {
753
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
754
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
755
+ }
756
+
757
+ def struct_fields; FIELDS; end
758
+
759
+ def validate
760
+ end
761
+
762
+ ::Thrift::Struct.generate_accessors self
763
+ end
764
+
765
+ class Read_args
766
+ include ::Thrift::Struct, ::Thrift::Struct_Union
767
+ HANDLE = 1
768
+ OFFSET = -1
769
+ SIZE = -2
770
+
771
+ FIELDS = {
772
+ HANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'handle', :class => ThriftHandle},
773
+ OFFSET => {:type => ::Thrift::Types::I64, :name => 'offset'},
774
+ SIZE => {:type => ::Thrift::Types::I32, :name => 'size'}
775
+ }
776
+
777
+ def struct_fields; FIELDS; end
778
+
779
+ def validate
780
+ end
781
+
782
+ ::Thrift::Struct.generate_accessors self
783
+ end
784
+
785
+ class Read_result
786
+ include ::Thrift::Struct, ::Thrift::Struct_Union
787
+ SUCCESS = 0
788
+ OUCH = 1
789
+
790
+ FIELDS = {
791
+ SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
792
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
793
+ }
794
+
795
+ def struct_fields; FIELDS; end
796
+
797
+ def validate
798
+ end
799
+
800
+ ::Thrift::Struct.generate_accessors self
801
+ end
802
+
803
+ class Close_args
804
+ include ::Thrift::Struct, ::Thrift::Struct_Union
805
+ OUT = 1
806
+
807
+ FIELDS = {
808
+ OUT => {:type => ::Thrift::Types::STRUCT, :name => 'out', :class => ThriftHandle}
809
+ }
810
+
811
+ def struct_fields; FIELDS; end
812
+
813
+ def validate
814
+ end
815
+
816
+ ::Thrift::Struct.generate_accessors self
817
+ end
818
+
819
+ class Close_result
820
+ include ::Thrift::Struct, ::Thrift::Struct_Union
821
+ SUCCESS = 0
822
+ OUCH = 1
823
+
824
+ FIELDS = {
825
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
826
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
827
+ }
828
+
829
+ def struct_fields; FIELDS; end
830
+
831
+ def validate
832
+ end
833
+
834
+ ::Thrift::Struct.generate_accessors self
835
+ end
836
+
837
+ class Rm_args
838
+ include ::Thrift::Struct, ::Thrift::Struct_Union
839
+ PATH = 1
840
+ RECURSIVE = 2
841
+
842
+ FIELDS = {
843
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
844
+ RECURSIVE => {:type => ::Thrift::Types::BOOL, :name => 'recursive'}
845
+ }
846
+
847
+ def struct_fields; FIELDS; end
848
+
849
+ def validate
850
+ end
851
+
852
+ ::Thrift::Struct.generate_accessors self
853
+ end
854
+
855
+ class Rm_result
856
+ include ::Thrift::Struct, ::Thrift::Struct_Union
857
+ SUCCESS = 0
858
+ OUCH = 1
859
+
860
+ FIELDS = {
861
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
862
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
863
+ }
864
+
865
+ def struct_fields; FIELDS; end
866
+
867
+ def validate
868
+ end
869
+
870
+ ::Thrift::Struct.generate_accessors self
871
+ end
872
+
873
+ class Rename_args
874
+ include ::Thrift::Struct, ::Thrift::Struct_Union
875
+ PATH = 1
876
+ DEST = 2
877
+
878
+ FIELDS = {
879
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
880
+ DEST => {:type => ::Thrift::Types::STRUCT, :name => 'dest', :class => Pathname}
881
+ }
882
+
883
+ def struct_fields; FIELDS; end
884
+
885
+ def validate
886
+ end
887
+
888
+ ::Thrift::Struct.generate_accessors self
889
+ end
890
+
891
+ class Rename_result
892
+ include ::Thrift::Struct, ::Thrift::Struct_Union
893
+ SUCCESS = 0
894
+ OUCH = 1
895
+
896
+ FIELDS = {
897
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
898
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
899
+ }
900
+
901
+ def struct_fields; FIELDS; end
902
+
903
+ def validate
904
+ end
905
+
906
+ ::Thrift::Struct.generate_accessors self
907
+ end
908
+
909
+ class Mkdirs_args
910
+ include ::Thrift::Struct, ::Thrift::Struct_Union
911
+ PATH = 1
912
+
913
+ FIELDS = {
914
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
915
+ }
916
+
917
+ def struct_fields; FIELDS; end
918
+
919
+ def validate
920
+ end
921
+
922
+ ::Thrift::Struct.generate_accessors self
923
+ end
924
+
925
+ class Mkdirs_result
926
+ include ::Thrift::Struct, ::Thrift::Struct_Union
927
+ SUCCESS = 0
928
+ OUCH = 1
929
+
930
+ FIELDS = {
931
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
932
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
933
+ }
934
+
935
+ def struct_fields; FIELDS; end
936
+
937
+ def validate
938
+ end
939
+
940
+ ::Thrift::Struct.generate_accessors self
941
+ end
942
+
943
+ class Exists_args
944
+ include ::Thrift::Struct, ::Thrift::Struct_Union
945
+ PATH = 1
946
+
947
+ FIELDS = {
948
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
949
+ }
950
+
951
+ def struct_fields; FIELDS; end
952
+
953
+ def validate
954
+ end
955
+
956
+ ::Thrift::Struct.generate_accessors self
957
+ end
958
+
959
+ class Exists_result
960
+ include ::Thrift::Struct, ::Thrift::Struct_Union
961
+ SUCCESS = 0
962
+ OUCH = 1
963
+
964
+ FIELDS = {
965
+ SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
966
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
967
+ }
968
+
969
+ def struct_fields; FIELDS; end
970
+
971
+ def validate
972
+ end
973
+
974
+ ::Thrift::Struct.generate_accessors self
975
+ end
976
+
977
+ class Stat_args
978
+ include ::Thrift::Struct, ::Thrift::Struct_Union
979
+ PATH = 1
980
+
981
+ FIELDS = {
982
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
983
+ }
984
+
985
+ def struct_fields; FIELDS; end
986
+
987
+ def validate
988
+ end
989
+
990
+ ::Thrift::Struct.generate_accessors self
991
+ end
992
+
993
+ class Stat_result
994
+ include ::Thrift::Struct, ::Thrift::Struct_Union
995
+ SUCCESS = 0
996
+ OUCH = 1
997
+
998
+ FIELDS = {
999
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => FileStatus},
1000
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1001
+ }
1002
+
1003
+ def struct_fields; FIELDS; end
1004
+
1005
+ def validate
1006
+ end
1007
+
1008
+ ::Thrift::Struct.generate_accessors self
1009
+ end
1010
+
1011
+ class ListStatus_args
1012
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1013
+ PATH = 1
1014
+
1015
+ FIELDS = {
1016
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname}
1017
+ }
1018
+
1019
+ def struct_fields; FIELDS; end
1020
+
1021
+ def validate
1022
+ end
1023
+
1024
+ ::Thrift::Struct.generate_accessors self
1025
+ end
1026
+
1027
+ class ListStatus_result
1028
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1029
+ SUCCESS = 0
1030
+ OUCH = 1
1031
+
1032
+ FIELDS = {
1033
+ SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => FileStatus}},
1034
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1035
+ }
1036
+
1037
+ def struct_fields; FIELDS; end
1038
+
1039
+ def validate
1040
+ end
1041
+
1042
+ ::Thrift::Struct.generate_accessors self
1043
+ end
1044
+
1045
+ class Chmod_args
1046
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1047
+ PATH = 1
1048
+ MODE = 2
1049
+
1050
+ FIELDS = {
1051
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
1052
+ MODE => {:type => ::Thrift::Types::I16, :name => 'mode'}
1053
+ }
1054
+
1055
+ def struct_fields; FIELDS; end
1056
+
1057
+ def validate
1058
+ end
1059
+
1060
+ ::Thrift::Struct.generate_accessors self
1061
+ end
1062
+
1063
+ class Chmod_result
1064
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1065
+ OUCH = 1
1066
+
1067
+ FIELDS = {
1068
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1069
+ }
1070
+
1071
+ def struct_fields; FIELDS; end
1072
+
1073
+ def validate
1074
+ end
1075
+
1076
+ ::Thrift::Struct.generate_accessors self
1077
+ end
1078
+
1079
+ class Chown_args
1080
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1081
+ PATH = 1
1082
+ OWNER = 2
1083
+ GROUP = 3
1084
+
1085
+ FIELDS = {
1086
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
1087
+ OWNER => {:type => ::Thrift::Types::STRING, :name => 'owner'},
1088
+ GROUP => {:type => ::Thrift::Types::STRING, :name => 'group'}
1089
+ }
1090
+
1091
+ def struct_fields; FIELDS; end
1092
+
1093
+ def validate
1094
+ end
1095
+
1096
+ ::Thrift::Struct.generate_accessors self
1097
+ end
1098
+
1099
+ class Chown_result
1100
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1101
+ OUCH = 1
1102
+
1103
+ FIELDS = {
1104
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1105
+ }
1106
+
1107
+ def struct_fields; FIELDS; end
1108
+
1109
+ def validate
1110
+ end
1111
+
1112
+ ::Thrift::Struct.generate_accessors self
1113
+ end
1114
+
1115
+ class SetReplication_args
1116
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1117
+ PATH = 1
1118
+ REPLICATION = 2
1119
+
1120
+ FIELDS = {
1121
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
1122
+ REPLICATION => {:type => ::Thrift::Types::I16, :name => 'replication'}
1123
+ }
1124
+
1125
+ def struct_fields; FIELDS; end
1126
+
1127
+ def validate
1128
+ end
1129
+
1130
+ ::Thrift::Struct.generate_accessors self
1131
+ end
1132
+
1133
+ class SetReplication_result
1134
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1135
+ OUCH = 1
1136
+
1137
+ FIELDS = {
1138
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1139
+ }
1140
+
1141
+ def struct_fields; FIELDS; end
1142
+
1143
+ def validate
1144
+ end
1145
+
1146
+ ::Thrift::Struct.generate_accessors self
1147
+ end
1148
+
1149
+ class GetFileBlockLocations_args
1150
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1151
+ PATH = 1
1152
+ START = 2
1153
+ LENGTH = 3
1154
+
1155
+ FIELDS = {
1156
+ PATH => {:type => ::Thrift::Types::STRUCT, :name => 'path', :class => Pathname},
1157
+ START => {:type => ::Thrift::Types::I64, :name => 'start'},
1158
+ LENGTH => {:type => ::Thrift::Types::I64, :name => 'length'}
1159
+ }
1160
+
1161
+ def struct_fields; FIELDS; end
1162
+
1163
+ def validate
1164
+ end
1165
+
1166
+ ::Thrift::Struct.generate_accessors self
1167
+ end
1168
+
1169
+ class GetFileBlockLocations_result
1170
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1171
+ SUCCESS = 0
1172
+ OUCH = 1
1173
+
1174
+ FIELDS = {
1175
+ SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => BlockLocation}},
1176
+ OUCH => {:type => ::Thrift::Types::STRUCT, :name => 'ouch', :class => ThriftIOException}
1177
+ }
1178
+
1179
+ def struct_fields; FIELDS; end
1180
+
1181
+ def validate
1182
+ end
1183
+
1184
+ ::Thrift::Struct.generate_accessors self
1185
+ end
1186
+
1187
+ end
1188
+