blob: 1a2c5a109884dd48a726b92b812f1063d6f40642 [file] [log] [blame]
module TProcessor
def initialize(handler)
@handler = handler
end
def process(iprot, oprot)
name, type, seqid = iprot.readMessageBegin()
if respond_to?("process_#{name}")
send("process_#{name}", seqid, iprot, oprot)
return true
else
iprot.skip(TType::STRUCT)
iprot.readMessageEnd()
x = TApplicationException.new(TApplicationException::UNKNOWN_METHOD, 'Unknown function '+name)
oprot.writeMessageBegin(name, TMessageType::EXCEPTION, seqid)
x.write(oprot)
oprot.writeMessageEnd()
oprot.trans.flush()
return
end
end
def read_args(iprot, args_class)
args = args_class.new
args.read(iprot)
iprot.readMessageEnd
args
end
def write_result(result, oprot, name, seqid)
oprot.writeMessageBegin(name, TMessageType::REPLY, seqid)
result.write(oprot)
oprot.writeMessageEnd()
oprot.trans.flush()
end
end