KafkaNet.Producer.SetResult C# (CSharp) 메소드

SetResult() 개인적인 메소드

private SetResult ( List sendTasks ) : Task
sendTasks List
리턴 Task
        private async Task SetResult(List<BrokerRouteSendBatch> sendTasks)
        {
            foreach (var sendTask in sendTasks)
            {
                try
                {
                    //all ready done don't need to await but it none blocking syntext
                    var batchResult = await sendTask.Task.ConfigureAwait(false);
                    var numberOfMessage = sendTask.MessagesSent.Count;
                    for (int i = 0; i < numberOfMessage; i++)
                    {
                        bool isAckLevel0 = sendTask.AckLevel == 0;
                        if (isAckLevel0)
                        {
                            var responce = new ProduceResponse()
                            {
                                Error = (short)ErrorResponseCode.NoError,
                                PartitionId = sendTask.Route.PartitionId,
                                Topic = sendTask.Route.Topic,
                                Offset = -1
                            };
                            sendTask.MessagesSent[i].Tcs.SetResult(responce);
                        }
                        else
                        {
                            var response = new ProduceResponse()
                            {
                                Error = batchResult.Error,
                                PartitionId = batchResult.PartitionId,
                                Topic = batchResult.Topic,
                                Offset = batchResult.Offset + i
                            };
                            sendTask.MessagesSent[i].Tcs.SetResult(response);
                        }
                    }
                }
                catch (Exception ex)
                {
                    BrokerRouter.Log.ErrorFormat("failed to send batch Topic[{0}] ackLevel[{1}] partition[{2}] EndPoint[{3}] Exception[{4}] stacktrace[{5}]", sendTask.Route.Topic, sendTask.AckLevel, sendTask.Route.PartitionId, sendTask.Route.Connection.Endpoint, ex.Message, ex.StackTrace);
                    sendTask.MessagesSent.ForEach((x) => x.Tcs.TrySetException(ex));
                }
            }
        }