Table of Contents

Class EventSequenceNumber

Namespace
Cratis.Chronicle.Events
Assembly
Cratis.Chronicle.dll

Represents the sequence number within an event log for an event.

public record EventSequenceNumber : ConceptAs<ulong>, IComparable<ConceptAs<ulong>>, IComparable<ulong>, IComparable, IEquatable<ConceptAs<ulong>>, IEquatable<EventSequenceNumber>
Inheritance
EventSequenceNumber
Implements
Inherited Members

Constructors

EventSequenceNumber(ulong)

Represents the sequence number within an event log for an event.

public EventSequenceNumber(ulong Value)

Parameters

Value ulong

The sequence number.

Fields

First

Gets the first sequence number.

public static readonly EventSequenceNumber First

Field Value

EventSequenceNumber

Max

Gets the max sequence number.

public static readonly EventSequenceNumber Max

Field Value

EventSequenceNumber

Unavailable

Gets the value when the sequence number is unavailable.

public static readonly EventSequenceNumber Unavailable

Field Value

EventSequenceNumber

Properties

IsActualValue

Check if the EventSequenceNumber is an actual value representing a sequence number.

public bool IsActualValue { get; }

Property Value

bool

True if it can, false if not.

Remarks

Values such as Unavailable, Max are not actual values. They are system values used for special purposes.

IsUnavailable

Check if the EventSequenceNumber is unavailable.

public bool IsUnavailable { get; }

Property Value

bool

Methods

Next()

Get the next EventSequenceNumber.

public EventSequenceNumber Next()

Returns

EventSequenceNumber

The next EventSequenceNumber.

Operators

operator +(EventSequenceNumber, EventSequenceNumber)

Adds a event sequence number with another event sequence number.

public static EventSequenceNumber operator +(EventSequenceNumber left, EventSequenceNumber right)

Parameters

left EventSequenceNumber

EventSequenceNumber to add from.

right EventSequenceNumber

EventSequenceNumber to add.

Returns

EventSequenceNumber

new event sequence number.

operator +(EventSequenceNumber, int)

Adds a event sequence number with a value.

public static EventSequenceNumber operator +(EventSequenceNumber left, int right)

Parameters

left EventSequenceNumber

EventSequenceNumber to add from.

right int

Value to add.

Returns

EventSequenceNumber

new event sequence number.

operator +(EventSequenceNumber, ulong)

Adds a event sequence number with a value.

public static EventSequenceNumber operator +(EventSequenceNumber left, ulong right)

Parameters

left EventSequenceNumber

EventSequenceNumber to add from.

right ulong

Value to add.

Returns

EventSequenceNumber

new event sequence number.

implicit operator EventSequenceNumber(ulong)

Implicitly convert from ulong to EventSequenceNumber.

public static implicit operator EventSequenceNumber(ulong value)

Parameters

value ulong

Value to convert from.

Returns

EventSequenceNumber

A converted EventSequenceNumber.

operator -(EventSequenceNumber, EventSequenceNumber)

Adds a event sequence number with a value.

public static EventSequenceNumber operator -(EventSequenceNumber left, EventSequenceNumber right)

Parameters

left EventSequenceNumber

EventSequenceNumber to add from.

right EventSequenceNumber

EventSequenceNumber to subtract.

Returns

EventSequenceNumber

new event sequence number.

operator -(EventSequenceNumber, int)

Adds a event sequence number with a value.

public static EventSequenceNumber operator -(EventSequenceNumber left, int right)

Parameters

left EventSequenceNumber

EventSequenceNumber to subtract from.

right int

Value to add.

Returns

EventSequenceNumber

new event sequence number.

operator -(EventSequenceNumber, ulong)

Adds a event sequence number with a value.

public static EventSequenceNumber operator -(EventSequenceNumber left, ulong right)

Parameters

left EventSequenceNumber

EventSequenceNumber to subtract from.

right ulong

Value to add.

Returns

EventSequenceNumber

new event sequence number.