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 SourceActiveValue
Gets the last set value that was successfully coordinated across every bound participant.
Declaration
string ActiveValue { get; }
Property Value
| Type | Description |
|---|---|
| string |
AllowedValues
Gets the values that may become active for this set.
Declaration
IReadOnlyList<string> AllowedValues { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> |
BoundParticipantNames
Gets the identities of switchable configuration sources currently bound to this set.
Declaration
IReadOnlyList<string> BoundParticipantNames { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> |
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 |
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.
Name
Gets the caller-defined set identity.
Declaration
string Name { get; }
Property Value
| Type | Description |
|---|---|
| string |
Methods
| Edit this page View SourceGetStatus()
Captures an immutable, internally consistent snapshot of this coordinator's current runtime state.
Declaration
ConfigurationSetStatus GetStatus()
Returns
| Type | Description |
|---|---|
| ConfigurationSetStatus |
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 |
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 SourceLifecycleChanged
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.