func (p *ContainerOfEnumsTestServiceProcessor) Process(iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { name, _, seqId, err := iprot.ReadMessageBegin() if err != nil { return } process, nameFound := p.GetProcessorFunction(name) if !nameFound || process == nil { iprot.Skip(thrift.STRUCT) iprot.ReadMessageEnd() x25 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) x25.Write(oprot) oprot.WriteMessageEnd() oprot.Transport().Flush() return false, x25 } return process.Process(seqId, iprot, oprot) }
func (p *containerOfEnumsTestServiceProcessorEcho) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { args := NewEchoArgs() if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) oprot.WriteMessageBegin("echo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Transport().Flush() return } iprot.ReadMessageEnd() result := NewEchoResult() if result.Success, err = p.handler.Echo(args.Message); err != nil { x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing echo: "+err.Error()) oprot.WriteMessageBegin("echo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Transport().Flush() return } if err2 := oprot.WriteMessageBegin("echo", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 := result.Write(oprot); err == nil && err2 != nil { err = err2 } if err2 := oprot.WriteMessageEnd(); err == nil && err2 != nil { err = err2 } if err2 := oprot.Transport().Flush(); err == nil && err2 != nil { err = err2 } if err != nil { return } return true, err }