public async global::System.Threading.Tasks.Task Task_ProcessAsync(int seqid, TProtocol iprot, TProtocol oprot, CancellationToken cancellationToken) { var args = new InternalStructs.TaskArgs(); await args.ReadAsync(iprot, cancellationToken); await iprot.ReadMessageEndAsync(cancellationToken); var result = new InternalStructs.TaskResult(); try { try { result.Success = await _iAsync.TaskAsync(args.Foo, args.Bar, cancellationToken); } catch (global::Thrift5320.exceptions.Task error) { result.Error = error; } await oprot.WriteMessageBeginAsync(new TMessage("Task", TMessageType.Reply, seqid), cancellationToken); await result.WriteAsync(oprot, cancellationToken); } catch (TTransportException) { throw; } catch (Exception ex) { var sErr = $"Error occurred in {GetType().FullName}: {ex.Message}"; if (_logger != null) { _logger.LogError(ex, sErr); } else { Console.Error.WriteLine(sErr); } var x = new TApplicationException(TApplicationException.ExceptionType.InternalError, " Internal error."); await oprot.WriteMessageBeginAsync(new TMessage("Task", TMessageType.Exception, seqid), cancellationToken); await x.WriteAsync(oprot, cancellationToken); } await oprot.WriteMessageEndAsync(cancellationToken); await oprot.Transport.FlushAsync(cancellationToken); }
public async global::System.Threading.Tasks.Task <global::Thrift5320.enums.Task> TaskAsync(global::Thrift5320.structs.Task foo, global::Thrift5320.Task.Foobar bar, CancellationToken cancellationToken = default) { await OutputProtocol.WriteMessageBeginAsync(new TMessage("Task", TMessageType.Call, SeqId), cancellationToken); var args = new InternalStructs.TaskArgs() { Foo = foo, Bar = bar, }; await args.WriteAsync(OutputProtocol, cancellationToken); await OutputProtocol.WriteMessageEndAsync(cancellationToken); await OutputProtocol.Transport.FlushAsync(cancellationToken); var msg = await InputProtocol.ReadMessageBeginAsync(cancellationToken); if (msg.Type == TMessageType.Exception) { var x = await TApplicationException.ReadAsync(InputProtocol, cancellationToken); await InputProtocol.ReadMessageEndAsync(cancellationToken); throw x; } var result = new InternalStructs.TaskResult(); await result.ReadAsync(InputProtocol, cancellationToken); await InputProtocol.ReadMessageEndAsync(cancellationToken); if (result.__isset.success) { return(result.Success); } if (result.__isset.error) { throw result.Error; } throw new TApplicationException(TApplicationException.ExceptionType.MissingResult, "Task failed: unknown result"); }