module Thrift::Client

Public Class Methods

new(iprot, oprot=nil) click to toggle source
   # File lib/thrift/client.rb
22 def initialize(iprot, oprot=nil)
23   @iprot = iprot
24   @oprot = oprot || iprot
25   @seqid = 0
26 end

Public Instance Methods

handle_exception(mtype) click to toggle source
   # File lib/thrift/client.rb
70 def handle_exception(mtype)
71   if mtype == MessageTypes::EXCEPTION
72     x = ApplicationException.new
73     x.read(@iprot)
74     @iprot.read_message_end
75     raise x
76   end
77 end
receive_message(result_klass) click to toggle source
   # File lib/thrift/client.rb
63 def receive_message(result_klass)
64   result = result_klass.new
65   result.read(@iprot)
66   @iprot.read_message_end
67   result
68 end
receive_message_begin() click to toggle source
   # File lib/thrift/client.rb
53 def receive_message_begin()
54   fname, mtype, rseqid = @iprot.read_message_begin
55   [fname, mtype, rseqid]
56 end
reply_seqid(rseqid) click to toggle source
   # File lib/thrift/client.rb
58 def reply_seqid(rseqid)
59  result = (rseqid==@seqid)?true:false
60  result
61 end
send_message(name, args_class, args = {}) click to toggle source
   # File lib/thrift/client.rb
28 def send_message(name, args_class, args = {})
29   @oprot.write_message_begin(name, MessageTypes::CALL, @seqid)
30   send_message_args(args_class, args)
31 end
send_message_args(args_class, args) click to toggle source
   # File lib/thrift/client.rb
38 def send_message_args(args_class, args)
39   data = args_class.new
40   args.each do |k, v|
41     data.send("#{k.to_s}=", v)
42   end
43   begin
44     data.write(@oprot)
45   rescue StandardError => e
46     @oprot.trans.close
47     raise e
48   end
49   @oprot.write_message_end
50   @oprot.trans.flush
51 end
send_oneway_message(name, args_class, args = {}) click to toggle source
   # File lib/thrift/client.rb
33 def send_oneway_message(name, args_class, args = {})
34   @oprot.write_message_begin(name, MessageTypes::ONEWAY, @seqid)
35   send_message_args(args_class, args)
36 end