Class ReactorSideEffectFailure

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

Represents a failure that occurred during reactor side-effect processing.

public record ReactorSideEffectFailure : IEquatable<ReactorSideEffectFailure>
Inheritance
ReactorSideEffectFailure
Implements
Inherited Members
Extension Methods

Constructors

ReactorSideEffectFailure(ReactorSideEffectFailure)

protected ReactorSideEffectFailure(ReactorSideEffectFailure original)

Parameters

original ReactorSideEffectFailure

ReactorSideEffectFailure(IEnumerable<AppendFailure>)

Represents a failure that occurred during reactor side-effect processing.

public ReactorSideEffectFailure(IEnumerable<AppendFailure> AppendFailures)

Parameters

AppendFailures IEnumerable<AppendFailure>

Collection of append failures that occurred.

Properties

AppendFailures

Collection of append failures that occurred.

public IEnumerable<AppendFailure> AppendFailures { get; init; }

Property Value

IEnumerable<AppendFailure>

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

Methods

Deconstruct(out IEnumerable<AppendFailure>)

public void Deconstruct(out IEnumerable<AppendFailure> AppendFailures)

Parameters

AppendFailures IEnumerable<AppendFailure>

Equals(ReactorSideEffectFailure?)

public virtual bool Equals(ReactorSideEffectFailure? other)

Parameters

other ReactorSideEffectFailure

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

FromAppendResult(IAppendResult, IEnumerable<EventSourceId>)

Creates a ReactorSideEffectFailure from a failed append operation.

public static ReactorSideEffectFailure FromAppendResult(IAppendResult appendResult, IEnumerable<EventSourceId> targetEventSourceIds)

Parameters

appendResult IAppendResult

The failed IAppendResult (e.g. AppendResult or AppendManyResult).

targetEventSourceIds IEnumerable<EventSourceId>

The EventSourceId the failed side-effect events were being appended to.

Returns

ReactorSideEffectFailure

A ReactorSideEffectFailure containing the append failure details.

FromAppendResult(IAppendResult, IEnumerable<EventSourceId>, ReactorContext?)

Creates a ReactorSideEffectFailure from a failed append operation, adding the reactor remedy when a keyed event was refused because the reactor produced different output for a delivery that was already appended.

public static ReactorSideEffectFailure FromAppendResult(IAppendResult appendResult, IEnumerable<EventSourceId> targetEventSourceIds, ReactorContext? reactorContext)

Parameters

appendResult IAppendResult

The failed IAppendResult (e.g. AppendResult or AppendManyResult).

targetEventSourceIds IEnumerable<EventSourceId>

The EventSourceId the failed side-effect events were being appended to.

reactorContext ReactorContext

The ReactorContext of the delivery, or null to add no remedy.

Returns

ReactorSideEffectFailure

A ReactorSideEffectFailure containing the append failure details.

GetHashCode()

public override int GetHashCode()

Returns

int

GetMessages()

Gets messages describing the side-effect append failures.

public IEnumerable<string> GetMessages()

Returns

IEnumerable<string>

A collection of failure messages.

GetTargetEventSourceIds()

Gets the distinct EventSourceId the failed side-effect events were being appended to.

public IEnumerable<EventSourceId> GetTargetEventSourceIds()

Returns

IEnumerable<EventSourceId>

The collection of target EventSourceId.

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(ReactorSideEffectFailure?, ReactorSideEffectFailure?)

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

Parameters

left ReactorSideEffectFailure
right ReactorSideEffectFailure

Returns

bool

operator !=(ReactorSideEffectFailure?, ReactorSideEffectFailure?)

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

Parameters

left ReactorSideEffectFailure
right ReactorSideEffectFailure

Returns

bool