Class ReactorInvocationResult

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

Represents the result of invoking a reactor, containing both exception state and side-effect failures.

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

Constructors

ReactorInvocationResult(ReactorInvocationResult)

protected ReactorInvocationResult(ReactorInvocationResult original)

Parameters

original ReactorInvocationResult

ReactorInvocationResult(Catch, ReactorSideEffectFailure?)

Represents the result of invoking a reactor, containing both exception state and side-effect failures.

public ReactorInvocationResult(Catch ExceptionResult, ReactorSideEffectFailure? SideEffectFailure = null)

Parameters

ExceptionResult Catch

The Catch holding any unexpected exceptions that occurred.

SideEffectFailure ReactorSideEffectFailure

Optional ReactorSideEffectFailure containing side-effect append failures.

Properties

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

ExceptionResult

The Catch holding any unexpected exceptions that occurred.

public Catch ExceptionResult { get; init; }

Property Value

Catch

IsFailed

Gets a value indicating whether the invocation failed.

public bool IsFailed { get; }

Property Value

bool

IsSuccess

Gets a value indicating whether the invocation was successful (no exceptions or side-effect failures).

public bool IsSuccess { get; }

Property Value

bool

SideEffectFailure

Optional ReactorSideEffectFailure containing side-effect append failures.

public ReactorSideEffectFailure? SideEffectFailure { get; init; }

Property Value

ReactorSideEffectFailure

Methods

Deconstruct(out Catch, out ReactorSideEffectFailure?)

public void Deconstruct(out Catch ExceptionResult, out ReactorSideEffectFailure? SideEffectFailure)

Parameters

ExceptionResult Catch
SideEffectFailure ReactorSideEffectFailure

Equals(ReactorInvocationResult?)

public virtual bool Equals(ReactorInvocationResult? other)

Parameters

other ReactorInvocationResult

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

FromException(Exception)

Creates an invocation result from an exception.

public static ReactorInvocationResult FromException(Exception exception)

Parameters

exception Exception

The exception that occurred.

Returns

ReactorInvocationResult

A ReactorInvocationResult containing the exception.

FromSideEffectFailure(ReactorSideEffectFailure)

Creates an invocation result from a side-effect failure.

public static ReactorInvocationResult FromSideEffectFailure(ReactorSideEffectFailure failure)

Parameters

failure ReactorSideEffectFailure

The side-effect failure that occurred.

Returns

ReactorInvocationResult

A ReactorInvocationResult containing the failure.

GetFailureDetails()

Gets failure details suitable for publishing back to the kernel.

public (IEnumerable<string> Messages, string StackTrace) GetFailureDetails()

Returns

(IEnumerable<string> Messages, string StackTrace)

Failure messages and stack trace.

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

Success()

Creates a successful invocation result.

public static ReactorInvocationResult Success()

Returns

ReactorInvocationResult

A ReactorInvocationResult representing success.

ToString()

public override string ToString()

Returns

string

Operators

operator ==(ReactorInvocationResult?, ReactorInvocationResult?)

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

Parameters

left ReactorInvocationResult
right ReactorInvocationResult

Returns

bool

operator !=(ReactorInvocationResult?, ReactorInvocationResult?)

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

Parameters

left ReactorInvocationResult
right ReactorInvocationResult

Returns

bool