Table of Contents

Class GovernanceEmissionResult

Namespace
AsiBackbone.Core.Emissions
Assembly
AsiBackbone.Core.dll

Represents the provider-neutral result of a governance emission attempt.

public sealed class GovernanceEmissionResult
Inheritance
GovernanceEmissionResult
Inherited Members

Properties

Error

Gets provider-neutral error information, when the emission did not deliver successfully.

public GovernanceEmissionError? Error { get; }

Property Value

GovernanceEmissionError

HasMetadata

Gets a value indicating whether result metadata is present.

public bool HasMetadata { get; }

Property Value

bool

IsSuccess

Gets a value indicating whether the emission was delivered successfully.

public bool IsSuccess { get; }

Property Value

bool

IsTerminal

Gets a value indicating whether the result is terminal and should not be retried automatically.

public bool IsTerminal { get; }

Property Value

bool

Metadata

Gets minimized provider-neutral result metadata.

public IReadOnlyDictionary<string, string> Metadata { get; }

Property Value

IReadOnlyDictionary<string, string>

ProviderName

Gets the provider name that handled or attempted the emission, when available.

public string? ProviderName { get; }

Property Value

string

ProviderRecordId

Gets the provider-side record identifier, when one is returned and safe to keep.

public string? ProviderRecordId { get; }

Property Value

string

RetryAfterUtc

Gets the UTC retry timestamp for deferred or retryable outcomes, when supplied.

public DateTimeOffset? RetryAfterUtc { get; }

Property Value

DateTimeOffset?

ShouldRetry

Gets a value indicating whether the emission should be retried according to provider-neutral status or error metadata.

public bool ShouldRetry { get; }

Property Value

bool

Status

Gets the provider-neutral result status.

public GovernanceEmissionStatus Status { get; }

Property Value

GovernanceEmissionStatus

Methods

DeadLettered(GovernanceEmissionError, string?, IReadOnlyDictionary<string, string>?)

Creates a dead-letter emission result.

public static GovernanceEmissionResult DeadLettered(GovernanceEmissionError error, string? providerName = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

error GovernanceEmissionError
providerName string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult

Deferred(GovernanceEmissionError?, DateTimeOffset?, string?, IReadOnlyDictionary<string, string>?)

Creates a deferred emission result.

public static GovernanceEmissionResult Deferred(GovernanceEmissionError? error = null, DateTimeOffset? retryAfterUtc = null, string? providerName = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

error GovernanceEmissionError
retryAfterUtc DateTimeOffset?
providerName string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult

Delivered(string?, string?, IReadOnlyDictionary<string, string>?)

Creates a delivered emission result.

public static GovernanceEmissionResult Delivered(string? providerName = null, string? providerRecordId = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

providerName string
providerRecordId string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult

Failed(GovernanceEmissionError, string?, IReadOnlyDictionary<string, string>?)

Creates a failed emission result.

public static GovernanceEmissionResult Failed(GovernanceEmissionError error, string? providerName = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

error GovernanceEmissionError
providerName string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult

Pending(string?, IReadOnlyDictionary<string, string>?)

Creates a pending emission result.

public static GovernanceEmissionResult Pending(string? providerName = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

providerName string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult

RetryableFailure(GovernanceEmissionError, DateTimeOffset?, string?, IReadOnlyDictionary<string, string>?)

Creates a retryable failure emission result.

public static GovernanceEmissionResult RetryableFailure(GovernanceEmissionError error, DateTimeOffset? retryAfterUtc = null, string? providerName = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

error GovernanceEmissionError
retryAfterUtc DateTimeOffset?
providerName string
metadata IReadOnlyDictionary<string, string>

Returns

GovernanceEmissionResult