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
originalReactorInvocationResult
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
ExceptionResultCatchThe Catch holding any unexpected exceptions that occurred.
SideEffectFailureReactorSideEffectFailureOptional ReactorSideEffectFailure containing side-effect append failures.
Properties
EqualityContract
protected virtual Type EqualityContract { get; }
Property Value
ExceptionResult
The Catch holding any unexpected exceptions that occurred.
public Catch ExceptionResult { get; init; }
Property Value
IsFailed
Gets a value indicating whether the invocation failed.
public bool IsFailed { get; }
Property Value
IsSuccess
Gets a value indicating whether the invocation was successful (no exceptions or side-effect failures).
public bool IsSuccess { get; }
Property Value
SideEffectFailure
Optional ReactorSideEffectFailure containing side-effect append failures.
public ReactorSideEffectFailure? SideEffectFailure { get; init; }
Property Value
Methods
Deconstruct(out Catch, out ReactorSideEffectFailure?)
public void Deconstruct(out Catch ExceptionResult, out ReactorSideEffectFailure? SideEffectFailure)
Parameters
ExceptionResultCatchSideEffectFailureReactorSideEffectFailure
Equals(ReactorInvocationResult?)
public virtual bool Equals(ReactorInvocationResult? other)
Parameters
otherReactorInvocationResult
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
FromException(Exception)
Creates an invocation result from an exception.
public static ReactorInvocationResult FromException(Exception exception)
Parameters
exceptionExceptionThe 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
failureReactorSideEffectFailureThe 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
PrintMembers(StringBuilder)
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
builderStringBuilder
Returns
Success()
Creates a successful invocation result.
public static ReactorInvocationResult Success()
Returns
- ReactorInvocationResult
A ReactorInvocationResult representing success.
ToString()
public override string ToString()
Returns
Operators
operator ==(ReactorInvocationResult?, ReactorInvocationResult?)
public static bool operator ==(ReactorInvocationResult? left, ReactorInvocationResult? right)
Parameters
leftReactorInvocationResultrightReactorInvocationResult
Returns
operator !=(ReactorInvocationResult?, ReactorInvocationResult?)
public static bool operator !=(ReactorInvocationResult? left, ReactorInvocationResult? right)
Parameters
leftReactorInvocationResultrightReactorInvocationResult