Class PluginLoadResultStore
- Namespace
- Kuestenlogik.Bowire.PluginLoading
- Assembly
- Kuestenlogik.Bowire.dll
Process-wide store of the most recent PluginLoadResult
set the plugin loader produced. Lives in the core (Kuestenlogik.Bowire)
so endpoints under Kuestenlogik.Bowire.Endpoints can read it without taking
a dependency on the CLI assembly (Kuestenlogik.Bowire.Tool) where the
PluginManager lives. The loader publishes results via
Publish(IReadOnlyList<PluginLoadResult>) on every LoadPlugins call; the
/api/plugins/health endpoint reads Latest.
public static class PluginLoadResultStore
- Inheritance
-
PluginLoadResultStore
- Inherited Members
Remarks
Lock-free reads: assignment is reference-only and the published collection is treated as immutable (callers freeze it before handing it over). Empty list before the first Publish(IReadOnlyList<PluginLoadResult>) — endpoints surface that as an empty array, which is the right no-op shape for a host that hasn't loaded any plugins yet.
Properties
Latest
Most recent results, or an empty list before the first publish.
public static IReadOnlyList<PluginLoadResult> Latest { get; }
Property Value
Methods
Publish(IReadOnlyList<PluginLoadResult>)
Publish a fresh result set. Callers should pass a frozen collection — AsReadOnly() over the loader's internal list is the conventional shape.
public static void Publish(IReadOnlyList<PluginLoadResult> results)
Parameters
resultsIReadOnlyList<PluginLoadResult>