Eigenverft.NetLib.Infrastructure
  • Guides
  • API
Show / Hide Table of Contents
  • Eigenverft.NetLib.Infrastructure.Hosting.Configuration.ConfigurationSets
    • ConfigurationSetApplyMode
    • ConfigurationSetBuilderBindingExtensions
    • ConfigurationSetCoordinatorExtensions
    • ConfigurationSetDefinition
    • ConfigurationSetEventArgs
    • ConfigurationSetEventKind
    • ConfigurationSetNotification
    • ConfigurationSetParticipantSwitchResult
    • ConfigurationSetPendingRestartChange
    • ConfigurationSetRegistration
    • ConfigurationSetStateApplyResult
    • ConfigurationSetStateApplyStatus
    • ConfigurationSetStateFailureKind
    • ConfigurationSetStateStatus
    • ConfigurationSetStateStoreEventArgs
    • ConfigurationSetStateStoreEventKind
    • ConfigurationSetStateStoreExtensions
    • ConfigurationSetStateStoreStatus
    • ConfigurationSetStatus
    • ConfigurationSetSwitchFailureKind
    • ConfigurationSetSwitchResult
    • ConfigurationSetSwitchStatus
    • ConfigurationSetSwitchableJsonExtensions
    • IConfigurationSetCoordinator
    • IConfigurationSetDesiredStateStore
    • IConfigurationSetEventHub
    • IConfigurationSetManager
    • IConfigurationSetStateStore
  • Eigenverft.NetLib.Infrastructure.Hosting.Configuration.Diagnostics
    • ConfigurationPrecedenceDiagnosticsExtensions
  • Eigenverft.NetLib.Infrastructure.Hosting.Configuration.Sources
    • HostApplicationBuilderConfigurationExtensions
  • Eigenverft.NetLib.Infrastructure.Hosting.Configuration.SwitchableJson
    • IJsonConfigurationSourcePreparation
    • ISwitchableJsonConfiguration
    • JsonConfigurationCandidatePreparation
    • JsonConfigurationCandidatePreparations
    • JsonConfigurationSourcePreparationContext
    • JsonConfigurationSourcePreparationException
    • JsonConfigurationValueProtection
    • SwitchableJsonConfigurationEventArgs
    • SwitchableJsonConfigurationEventKind
    • SwitchableJsonConfigurationExtensions
    • SwitchableJsonFailureKind
    • SwitchableJsonPreparationStatus
    • SwitchableJsonRegistrationOptions
    • SwitchableJsonRuntimeFailurePolicy
    • SwitchableJsonSwitchPreparation
    • SwitchableJsonSwitchResult
    • SwitchableJsonSwitchStatus
  • Eigenverft.NetLib.Infrastructure.Hosting.Configuration.Values
    • ConfigurationValueCodec
    • ConfigurationValueCodecs
    • ConfigurationValueKind
    • JsonConfigurationFileEncoder
  • Eigenverft.NetLib.Infrastructure.Hosting.DirectoryLayout
    • AppDirectoryLayout
    • AppDirectoryLayoutFactory
    • DefaultDirectory
    • DefaultDirectoryExtensions
    • DefaultDirectoryNameAttribute
    • HostApplicationBuilderDirectoryLayoutExtensions
    • HostApplicationBuilderFactory
    • IAppDirectoryLayout
  • Eigenverft.NetLib.Infrastructure.Hosting.Logging.BootstrapLogger
    • BootstrapLogger
    • BootstrapLogger<TCategoryName>
  • Eigenverft.NetLib.Infrastructure.Security.Certificates
    • CertificateKeyProfile
    • CertificatePurpose
    • CertificateRecoveryMode
    • CertificateSubject
    • ManagedCertificateAction
    • ManagedCertificateFile
    • ManagedCertificateFileOptions
    • ManagedCertificateResult
    • SelfSignedCertificateFactory
    • SelfSignedCertificateOptions
  • Eigenverft.NetLib.Infrastructure.Security.MachineBinding
    • PhysicalMachineBinding
  • Eigenverft.NetLib.Infrastructure.Text
    • Base92JsonSafeEncoder
  • Eigenverft.NetLib.Infrastructure.Transformations
    • ReversibleStringTransform
    • ReversibleStringTransform.TryReverseDelegate
    • ReversibleStringTransforms

Interface IConfigurationSetCoordinator

Coordinates the active value of one independent named configuration-set axis.

Namespace: Eigenverft.NetLib.Infrastructure.Hosting.Configuration.ConfigurationSets
Assembly: Eigenverft.NetLib.Infrastructure.dll
Syntax
public interface IConfigurationSetCoordinator
Remarks

Multiple coordinators may exist in the same process. A coordinator can remain a pure logical set, or switchable configuration sources can be bound to it. A coordinated transition prepares every mapped source, commits participant state with observer publication deferred, finalizes coordinator state, and only then releases IConfiguration/lifecycle notifications. A bound participant grants this coordinator exclusive ownership of manual source selection for that runtime. The coordinator assigns no application meaning to set names or values. This interface is the public runtime/control contract. Implementing it does not imply compatibility with NetLib-specific advanced participant-binding helpers such as BindSwitchableJson(...).

Properties

| Edit this page View Source

ActiveValue

Gets the last set value that was successfully coordinated across every bound participant.

Declaration
string ActiveValue { get; }
Property Value
Type Description
string
| Edit this page View Source

AllowedValues

Gets the values that may become active for this set.

Declaration
IReadOnlyList<string> AllowedValues { get; }
Property Value
Type Description
IReadOnlyList<string>
| Edit this page View Source

BoundParticipantNames

Gets the identities of switchable configuration sources currently bound to this set.

Declaration
IReadOnlyList<string> BoundParticipantNames { get; }
Property Value
Type Description
IReadOnlyList<string>
| Edit this page View Source

InitialValue

Gets the code-defined value used to initialize this set before any optional desired-state source is applied.

Declaration
string InitialValue { get; }
Property Value
Type Description
string
| Edit this page View Source

IsConsistent

Gets whether all bound participants are known to represent ActiveValue.

Declaration
bool IsConsistent { get; }
Property Value
Type Description
bool
Remarks

A rare participant commit race can leave a coordinated operation partially committed. In that case this becomes false until a later successful switch converges every binding on one allowed value again.

| Edit this page View Source

Name

Gets the caller-defined set identity.

Declaration
string Name { get; }
Property Value
Type Description
string

Methods

| Edit this page View Source

GetStatus()

Captures an immutable, internally consistent snapshot of this coordinator's current runtime state.

Declaration
ConfigurationSetStatus GetStatus()
Returns
Type Description
ConfigurationSetStatus
| Edit this page View Source

IsAllowed(string)

Returns whether a value is valid for this set.

Declaration
bool IsAllowed(string value)
Parameters
Type Name Description
string value
Returns
Type Description
bool
| Edit this page View Source

TrySwitch(string)

Requests that this set activate another allowed value.

Declaration
ConfigurationSetSwitchResult TrySwitch(string value)
Parameters
Type Name Description
string value

The caller-defined set value to activate.

Returns
Type Description
ConfigurationSetSwitchResult

The completed coordinated switch outcome.

Events

| Edit this page View Source

LifecycleChanged

Occurs after a completed switch request, including success, already-active no-op, rejection and partial commit.

Declaration
event EventHandler<ConfigurationSetEventArgs>? LifecycleChanged
Event Type
Type Description
EventHandler<ConfigurationSetEventArgs>
Remarks

Lifecycle observers are notifications rather than transaction participants. Observer exceptions are isolated and do not alter an already completed coordinator outcome.

Extension Methods

ConfigurationSetSwitchableJsonExtensions.BindSwitchableJson(IConfigurationSetCoordinator, ISwitchableJsonConfiguration, Func<string, string>)
  • Edit this page
  • View Source
In this article
Back to top