WutheringWaves/KcpSharp/IKcpExceptionProducer.cs
2024-02-08 00:41:39 +03:00

18 lines
754 B
C#

using System;
namespace KcpSharp
{
/// <summary>
/// An instance that can produce exceptions in background jobs.
/// </summary>
/// <typeparam name="T">The type of the instance.</typeparam>
public interface IKcpExceptionProducer<out T>
{
/// <summary>
/// Set the handler to invoke when exception is thrown. Return true in the handler to ignore the error and continue running. Return false in the handler to abort the operation.
/// </summary>
/// <param name="handler">The exception handler.</param>
/// <param name="state">The state object to pass into the exception handler.</param>
void SetExceptionHandler(Func<Exception, T, object?, bool> handler, object? state);
}
}