Skip to content

Class EventingOptions

Namespace: Cephalon.Eventing.Configuration
Assembly: Cephalon.Eventing.dll

Configures the built-in eventing runtime pack.

public sealed class EventingOptions

objectEventingOptions

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

These options seed the host-owned part of the eventing runtime. Installed modules can still contribute additional channels through and additional subscription descriptors through .

Creates eventing options with the default host-owned features enabled.

public EventingOptions()

Gets the host-defined event channels that should be available to the eventing runtime.

public IList<EventChannelDescriptor> Channels { get; }

IList<EventChannelDescriptor>

ContinueInProcessSubscriptionExecutionAfterFailure

Section titled “ ContinueInProcessSubscriptionExecutionAfterFailure”

Gets or sets a value indicating whether the in-process publisher should continue executing later subscriptions on the same channel after one subscription fails.

public bool ContinueInProcessSubscriptionExecutionAfterFailure { get; set; }

bool

The publisher still reports failed subscriptions and throws after the publication attempt finishes. This setting only controls whether independent subscriptions on the same channel get a chance to run before the failure is returned to the caller.

Gets or sets a value indicating whether the core eventing pack should execute matching subscription executors directly inside the current process when a publication is accepted.

public bool EnableInProcessSubscriptionExecution { get; set; }

bool

This is an opt-in managed execution baseline for lightweight hosts and tests. It is not a durable broker, inbox, or retry runtime; companion packs should still own those richer delivery guarantees when they are selected.

Gets or sets a value indicating whether the direct in-process publisher should suppress duplicate completed subscription executions for the same publication identifier.

public bool EnableInProcessSubscriptionIdempotency { get; set; }

bool

This is a bounded process-local guard for lightweight hosts. It records only successful direct executions in memory and skips later duplicate subscriptionId + publicationId pairs while the entry remains in the retention window. It is not a durable inbox, cross-node idempotency store, or broker-owned exactly-once guarantee.

Gets or sets a value indicating whether publishing features are enabled.

public bool EnablePublishing { get; set; }

bool

Gets or sets a value indicating whether subscription features are enabled.

public bool EnableSubscriptions { get; set; }

bool

InProcessSubscriptionIdempotencyRetentionMinutes

Section titled “ InProcessSubscriptionIdempotencyRetentionMinutes”

Gets or sets the number of minutes that successful direct in-process subscription executions remain eligible for duplicate suppression.

public int InProcessSubscriptionIdempotencyRetentionMinutes { get; set; }

int

The default value is 60 minutes. The value is used only when is enabled.

Gets or sets the maximum number of direct in-process execution attempts per matching subscription.

public int InProcessSubscriptionMaxAttempts { get; set; }

int

The default value of 1 preserves the no-retry baseline. Values greater than 1 enable a bounded, process-local retry loop; this still does not provide durable broker, inbox, or distributed retry guarantees.

InProcessSubscriptionRetryDelayMilliseconds

Section titled “ InProcessSubscriptionRetryDelayMilliseconds”

Gets or sets the delay in milliseconds before the direct in-process publisher retries a failed subscription attempt.

public int InProcessSubscriptionRetryDelayMilliseconds { get; set; }

int

The delay is applied only when is greater than 1. The default value of 0 retries immediately and is useful for tests and lightweight process-local remediation paths.

Gets the host-defined event subscription descriptors that should be available to the eventing runtime.

public IList<EventSubscriptionDescriptor> Subscriptions { get; }

IList<EventSubscriptionDescriptor>