docs consolidation and others
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// -----------------------------------------------------------------------------
|
||||
// BatchSnapshotResult.cs
|
||||
// Sprint: SPRINT_20260105_002_002_SCHEDULER_hlc_queue_chain
|
||||
// Task: SQC-013 - Implement BatchSnapshotService
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
using StellaOps.HybridLogicalClock;
|
||||
|
||||
namespace StellaOps.Scheduler.Queue.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Result of creating a batch snapshot.
|
||||
/// </summary>
|
||||
public sealed record BatchSnapshotResult
|
||||
{
|
||||
/// <summary>
|
||||
/// Unique batch snapshot identifier.
|
||||
/// </summary>
|
||||
public required Guid BatchId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Tenant this snapshot belongs to.
|
||||
/// </summary>
|
||||
public required string TenantId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Start of the HLC range (inclusive).
|
||||
/// </summary>
|
||||
public required HlcTimestamp RangeStart { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// End of the HLC range (inclusive).
|
||||
/// </summary>
|
||||
public required HlcTimestamp RangeEnd { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Chain head link at the end of this range.
|
||||
/// </summary>
|
||||
public required byte[] HeadLink { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Number of jobs included in this snapshot.
|
||||
/// </summary>
|
||||
public required int JobCount { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// When the snapshot was created.
|
||||
/// </summary>
|
||||
public required DateTimeOffset CreatedAt { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Key ID of the signer (if signed).
|
||||
/// </summary>
|
||||
public string? SignedBy { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// DSSE signature (if signed).
|
||||
/// </summary>
|
||||
public byte[]? Signature { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether this snapshot is signed.
|
||||
/// </summary>
|
||||
public bool IsSigned => SignedBy is not null && Signature is not null;
|
||||
}
|
||||
Reference in New Issue
Block a user