Class SchemaChangeLogEnvelope

Namespace
Kuestenlogik.Bowire.Models
Assembly
Kuestenlogik.Bowire.dll

On-disk / on-wire shape of a workspace's schema-change log (#185): the retained change entries plus the read watermark. "Unread" is derived — an entry is unread when it is newer than LastReadAt — so marking the log read is a single timestamp write instead of a per-entry flag sweep.

public sealed record SchemaChangeLogEnvelope : IEquatable<SchemaChangeLogEnvelope>
Inheritance
SchemaChangeLogEnvelope
Implements
Inherited Members

Constructors

SchemaChangeLogEnvelope()

public SchemaChangeLogEnvelope()

Properties

Entries

Retained change entries, oldest first.

public IReadOnlyList<SchemaChangeEntry> Entries { get; init; }

Property Value

IReadOnlyList<SchemaChangeEntry>

LastReadAt

When the operator last opened the change log. Entries newer than this are "unread"; null means nothing was ever read.

public DateTimeOffset? LastReadAt { get; init; }

Property Value

DateTimeOffset?

Methods

Equals(SchemaChangeLogEnvelope?)

public bool Equals(SchemaChangeLogEnvelope? other)

Parameters

other SchemaChangeLogEnvelope

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(SchemaChangeLogEnvelope?, SchemaChangeLogEnvelope?)

public static bool operator ==(SchemaChangeLogEnvelope? left, SchemaChangeLogEnvelope? right)

Parameters

left SchemaChangeLogEnvelope
right SchemaChangeLogEnvelope

Returns

bool

operator !=(SchemaChangeLogEnvelope?, SchemaChangeLogEnvelope?)

public static bool operator !=(SchemaChangeLogEnvelope? left, SchemaChangeLogEnvelope? right)

Parameters

left SchemaChangeLogEnvelope
right SchemaChangeLogEnvelope

Returns

bool