Changed IExceptionStrategy to async

This commit is contained in:
Mark van Renswoude 2021-09-05 10:03:29 +02:00
parent 3981a5c147
commit e83645cdc4
4 changed files with 16 additions and 10 deletions

View File

@ -78,7 +78,8 @@ namespace Tapeti.Connection
};
var exceptionContext = new ExceptionStrategyContext(emptyContext, dispatchException);
HandleException(exceptionContext);
await HandleException(exceptionContext);
return exceptionContext.ConsumeResult;
}
}
@ -132,7 +133,7 @@ namespace Tapeti.Connection
catch (Exception invokeException)
{
var exceptionContext = new ExceptionStrategyContext(context, invokeException);
HandleException(exceptionContext);
await HandleException(exceptionContext);
await binding.Cleanup(context, exceptionContext.ConsumeResult);
return exceptionContext.ConsumeResult;
@ -140,7 +141,7 @@ namespace Tapeti.Connection
}
private void HandleException(ExceptionStrategyContext exceptionContext)
private async Task HandleException(ExceptionStrategyContext exceptionContext)
{
if (cancellationToken.IsCancellationRequested && IgnoreExceptionDuringShutdown(exceptionContext.Exception))
{
@ -151,7 +152,7 @@ namespace Tapeti.Connection
try
{
exceptionStrategy.HandleException(exceptionContext);
await exceptionStrategy.HandleException(exceptionContext);
}
catch (Exception strategyException)
{

View File

@ -1,4 +1,5 @@
using Tapeti.Config;
using System.Threading.Tasks;
using Tapeti.Config;
namespace Tapeti.Default
{
@ -9,9 +10,10 @@ namespace Tapeti.Default
public class NackExceptionStrategy : IExceptionStrategy
{
/// <inheritdoc />
public void HandleException(IExceptionStrategyContext context)
public Task HandleException(IExceptionStrategyContext context)
{
context.SetConsumeResult(ConsumeResult.Error);
return Task.CompletedTask;
}
}
}

View File

@ -1,4 +1,5 @@
using Tapeti.Config;
using System.Threading.Tasks;
using Tapeti.Config;
// ReSharper disable UnusedMember.Global
@ -20,9 +21,10 @@ namespace Tapeti.Default
public class RequeueExceptionStrategy : IExceptionStrategy
{
/// <inheritdoc />
public void HandleException(IExceptionStrategyContext context)
public Task HandleException(IExceptionStrategyContext context)
{
context.SetConsumeResult(ConsumeResult.Requeue);
return Task.CompletedTask;
}
}
}

View File

@ -1,4 +1,5 @@
using Tapeti.Config;
using System.Threading.Tasks;
using Tapeti.Config;
namespace Tapeti
{
@ -12,6 +13,6 @@ namespace Tapeti
/// </summary>
/// <param name="context">The exception strategy context containing the necessary data including the message context and the thrown exception.
/// Also proivdes methods for the exception strategy to indicate how the message should be handled.</param>
void HandleException(IExceptionStrategyContext context);
Task HandleException(IExceptionStrategyContext context);
}
}