using MxGateway.Contracts.Proto;
namespace MxGateway.Client;
/// Exception thrown when the worker process is unavailable or fails to process a command.
public sealed class MxGatewayWorkerException : MxGatewayException
{
/// Initializes a new instance with the given details.
/// The error message describing the worker failure.
/// The session ID, if available.
/// The correlation ID for tracing, if available.
/// The protocol status details, if available.
/// The HResult code, if available.
/// The MXAccess statuses, if available.
/// The underlying exception, if any.
public MxGatewayWorkerException(
string message,
string? sessionId = null,
string? correlationId = null,
ProtocolStatus? protocolStatus = null,
int? hResult = null,
IReadOnlyList? statuses = null,
Exception? innerException = null)
: base(
message,
sessionId,
correlationId,
protocolStatus,
hResult,
statuses ?? [],
innerException)
{
}
}