Class ThriftClient::Simple::ThriftService
In: lib/thrift_client/simple.rb
lib/thrift_client/simple.rb
Parent: Object

Methods

Public Class methods

[Source]

     # File lib/thrift_client/simple.rb, line 240
240:       def self._arg_structs
241:         @_arg_structs = {} if @_arg_structs.nil?
242:         @_arg_structs
243:       end

[Source]

     # File lib/thrift_client/simple.rb, line 240
240:       def self._arg_structs
241:         @_arg_structs = {} if @_arg_structs.nil?
242:         @_arg_structs
243:       end

[Source]

     # File lib/thrift_client/simple.rb, line 236
236:       def initialize(sock)
237:         @sock = sock
238:       end

[Source]

     # File lib/thrift_client/simple.rb, line 236
236:       def initialize(sock)
237:         @sock = sock
238:       end

[Source]

     # File lib/thrift_client/simple.rb, line 245
245:       def self.thrift_method(name, rtype, *args)
246:         arg_struct = ThriftClient::Simple.make_struct("Args__#{self.name}__#{name}", *args)
247:         rv_struct = ThriftClient::Simple.make_struct("Retval__#{self.name}__#{name}", ThriftClient::Simple::Field.new(:rv, rtype, 0))
248:         _arg_structs[name.to_sym] = [ arg_struct, rv_struct ]
249: 
250:         arg_names = args.map { |a| a.name.to_s }.join(", ")
251:         class_eval "def #{name}(#{arg_names}); _proxy(:#{name}#{args.size > 0 ? ', ' : ''}#{arg_names}); end"
252:       end

[Source]

     # File lib/thrift_client/simple.rb, line 245
245:       def self.thrift_method(name, rtype, *args)
246:         arg_struct = ThriftClient::Simple.make_struct("Args__#{self.name}__#{name}", *args)
247:         rv_struct = ThriftClient::Simple.make_struct("Retval__#{self.name}__#{name}", ThriftClient::Simple::Field.new(:rv, rtype, 0))
248:         _arg_structs[name.to_sym] = [ arg_struct, rv_struct ]
249: 
250:         arg_names = args.map { |a| a.name.to_s }.join(", ")
251:         class_eval "def #{name}(#{arg_names}); _proxy(:#{name}#{args.size > 0 ? ', ' : ''}#{arg_names}); end"
252:       end

Public Instance methods

[Source]

     # File lib/thrift_client/simple.rb, line 254
254:       def _proxy(method_name, *args)
255:         cls = self.class.ancestors.find { |cls| cls.respond_to?(:_arg_structs) and cls._arg_structs[method_name.to_sym] }
256:         arg_class, rv_class = cls._arg_structs[method_name.to_sym]
257:         arg_struct = arg_class.new(*args)
258:         @sock.write(ThriftClient::Simple.pack_request(method_name, arg_struct))
259:         rv = ThriftClient::Simple.read_response(@sock, rv_class)
260:         rv[2]
261:       end

[Source]

     # File lib/thrift_client/simple.rb, line 254
254:       def _proxy(method_name, *args)
255:         cls = self.class.ancestors.find { |cls| cls.respond_to?(:_arg_structs) and cls._arg_structs[method_name.to_sym] }
256:         arg_class, rv_class = cls._arg_structs[method_name.to_sym]
257:         arg_struct = arg_class.new(*args)
258:         @sock.write(ThriftClient::Simple.pack_request(method_name, arg_struct))
259:         rv = ThriftClient::Simple.read_response(@sock, rv_class)
260:         rv[2]
261:       end

[Validate]