public override void ProduceMessages(HttpStatusCode[] statusCodes, Message <byte[], MessageData.MessageData>[] messages) { for (var i = 0; i < Count; i++) { if (CommonConfig.CurrentValue.InfinityRetryMode && IsClientErrorStatusCode(statusCodes[i]) || !(CommonConfig.CurrentValue.InfinityRetryMode && IsServerErrorStatusCode(statusCodes[i])) && messages[i].Value.Tries <= 0) { ByteProducer.ProduceToDead(messages[i].Key, messages[i].Value.Content); } else { MessageDataProducer.ProduceToRetry(messages[i].Key, messages[i].Value); } } }
public override void ProduceMessages(HttpStatusCode[] statusCodes, Message <byte[], byte[]>[] messages) { for (var i = 0; i < Count; i++) { if (IsSuccessStatusCode(statusCodes[i])) { continue; } if (CommonConfig.CurrentValue.InfinityRetryMode && IsClientErrorStatusCode(statusCodes[i])) { ByteProducer.ProduceToDead(messages[i].Key, messages[i].Value); } else { MessageDataProducer.ProduceToRetry(messages[i].Key, new MessageData.MessageData { Content = messages[i].Value, Ticks = DateTime.Now.Ticks, Tries = CommonConfig.CurrentValue.RetryCount }); } } }