Class DeliveryId

Namespace
Cratis.Chronicle.Reactors
Assembly
Cratis.Chronicle.dll

Concept that represents the stable identity of the delivery of one event to one reactor partition.

public record DeliveryId : ConceptAs<string>, IComparable<ConceptAs<string>>, IComparable<string>, IComparable, IEquatable<ConceptAs<string>>, IEquatable<DeliveryId>
Inheritance
DeliveryId
Implements
Inherited Members
Extension Methods

Remarks

The value is the same every time the same event is delivered to the same reactor - the retry after a failed partition is recovered, and the re-delivery a replay performs - and different for every genuinely distinct delivery. That makes it the key to record a completed side effect under, so that a redelivery can recognize the work as already done.

It identifies the delivery, not the outcome. Chronicle never learns whether the side effect ran, so an identity on its own suppresses nothing - see ReactorDelivery for what it does and does not promise.

Constructors

DeliveryId(DeliveryId)

protected DeliveryId(DeliveryId original)

Parameters

original DeliveryId

DeliveryId(string)

Concept that represents the stable identity of the delivery of one event to one reactor partition.

public DeliveryId(string Value)

Parameters

Value string

Actual value.

Remarks

The value is the same every time the same event is delivered to the same reactor - the retry after a failed partition is recovered, and the re-delivery a replay performs - and different for every genuinely distinct delivery. That makes it the key to record a completed side effect under, so that a redelivery can recognize the work as already done.

It identifies the delivery, not the outcome. Chronicle never learns whether the side effect ran, so an identity on its own suppresses nothing - see ReactorDelivery for what it does and does not promise.

Fields

NotSet

Gets the representation of an unset DeliveryId.

public static readonly DeliveryId NotSet

Field Value

DeliveryId

Properties

EqualityContract

protected override Type EqualityContract { get; }

Property Value

Type

Methods

Deconstruct(out string)

public void Deconstruct(out string Value)

Parameters

Value string

Equals(DeliveryId?)

public virtual bool Equals(DeliveryId? other)

Parameters

other DeliveryId

Returns

bool

Equals(ConceptAs<string>?)

public override sealed bool Equals(ConceptAs<string>? other)

Parameters

other ConceptAs<string>

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected override bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

Operators

operator ==(DeliveryId?, DeliveryId?)

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

Parameters

left DeliveryId
right DeliveryId

Returns

bool

implicit operator DeliveryId(string)

Implicitly convert from a string to DeliveryId.

public static implicit operator DeliveryId(string id)

Parameters

id string

String to convert from.

Returns

DeliveryId

operator !=(DeliveryId?, DeliveryId?)

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

Parameters

left DeliveryId
right DeliveryId

Returns

bool