class Thrift::MultiplexedProcessor
Public Class Methods
new()
click to toggle source
# File lib/thrift/processor.rb 63 def initialize 64 @actual_processors = Hash.new 65 end
Public Instance Methods
process(iprot, oprot)
click to toggle source
# File lib/thrift/processor.rb 72 def process(iprot, oprot) 73 name, type, seqid = iprot.read_message_begin 74 service_name, method = name.split(':') 75 actual_processor = @actual_processors[service_name] 76 if actual_processor.respond_to?("process_#{method}") 77 actual_processor.send("process_#{method}", seqid, iprot, oprot) 78 true 79 else 80 iprot.skip(Types::STRUCT) 81 iprot.read_message_end 82 x = ApplicationException.new(ApplicationException::UNKNOWN_METHOD, 'Unknown function ' + name) 83 oprot.write_message_begin(name, MessageTypes::EXCEPTION, seqid) 84 x.write(oprot) 85 oprot.write_message_end 86 oprot.trans.flush 87 false 88 end 89 end
register(service_name, processor)
click to toggle source
# File lib/thrift/processor.rb 67 def register(service_name, processor) 68 processor.instance_variable_set(:@service_name, service_name) 69 @actual_processors[service_name] = processor 70 end