using System.Threading.Tasks;
using Tapeti.Config;
namespace Tapeti
{
///
/// Called when an exception occurs while handling a message. Determines how it should be handled.
///
public interface IExceptionStrategy
{
///
/// Called when an exception occurs while handling a message.
///
/// 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.
Task HandleException(IExceptionStrategyContext context);
}
}