Issue #21: implement worker bootstrap and options

This commit is contained in:
Joseph Doherty
2026-04-26 16:53:06 -04:00
parent e2b4dfcb32
commit 0af1427859
19 changed files with 736 additions and 2 deletions
@@ -0,0 +1,35 @@
using System.Collections.Generic;
using System.Linq;
namespace MxGateway.Worker.Bootstrap;
public sealed class WorkerBootstrapResult
{
private WorkerBootstrapResult(
WorkerExitCode exitCode,
WorkerOptions? options,
IReadOnlyList<string> errors)
{
ExitCode = exitCode;
Options = options;
Errors = errors;
}
public WorkerExitCode ExitCode { get; }
public WorkerOptions? Options { get; }
public IReadOnlyList<string> Errors { get; }
public bool Succeeded => ExitCode == WorkerExitCode.Success;
public static WorkerBootstrapResult Success(WorkerOptions options)
{
return new WorkerBootstrapResult(WorkerExitCode.Success, options, []);
}
public static WorkerBootstrapResult Failure(WorkerExitCode exitCode, IEnumerable<string> errors)
{
return new WorkerBootstrapResult(exitCode, null, errors.ToArray());
}
}