Advertise daemon records through CultMesh refs
This commit is contained in:
parent
b9a322b8dc
commit
8baf0dc6b2
2 changed files with 63 additions and 40 deletions
|
|
@ -9020,7 +9020,7 @@ static void RequireDaemonVersePublication(string root)
|
|||
var requiredProviderAdvertisementSymbols = new[]
|
||||
{
|
||||
"private const string DaemonCommandBoundaryId = \"aetheria.daemon.commands\"",
|
||||
"private const string DaemonWitnessTransport = \"cultcache-witness\"",
|
||||
"private const string DaemonRecordTransport = \"cultmesh-record\"",
|
||||
"AetheriaRuntimeDaemonSchemas.ProviderAdvertisement",
|
||||
"AetheriaRuntimeDaemonSchemas.Frame",
|
||||
"AetheriaRuntimeDaemonSchemas.SoaView",
|
||||
|
|
@ -9029,15 +9029,15 @@ static void RequireDaemonVersePublication(string root)
|
|||
"AetheriaRuntimeDaemonSchemas.GameSurface",
|
||||
"AetheriaRuntimeDaemonSchemas.EditorSurface",
|
||||
"AetheriaRuntimeDaemonSchemas.Command",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonProviderPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonFramePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonSoaViewPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonHealthPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonCommandBoundaryPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonGameSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonGameTuiSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonEditorSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonEditorTuiSurfacePath(statePath)",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonProviderAdvertisement.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonFrameLatest.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonSoaViewLatest.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonHealth.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonCommandBoundary.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonGameSurface.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonGameTuiSurface.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonEditorSurface.ToString()",
|
||||
"AetheriaRuntimeVerseRecordKeys.DaemonEditorTuiSurface.ToString()",
|
||||
"public const string DaemonGameSurfaceKey = \"eve:surface:aetheria.daemon.game\"",
|
||||
"public const string DaemonGameTuiSurfaceKey = \"eve:surface:aetheria.daemon.game.tui\"",
|
||||
"public const string DaemonEditorSurfaceKey = \"eve:surface:aetheria.daemon.editor\"",
|
||||
|
|
@ -9053,10 +9053,33 @@ static void RequireDaemonVersePublication(string root)
|
|||
if (missingProviderAdvertisementSymbols.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Odin-visible provider advertisement no longer points at daemon-owned Verse witnesses: " +
|
||||
"Odin-visible provider advertisement no longer points at managed daemon CultMesh records: " +
|
||||
string.Join(", ", missingProviderAdvertisementSymbols));
|
||||
}
|
||||
|
||||
var forbiddenProviderAdvertisementSymbols = new[]
|
||||
{
|
||||
"DaemonWitnessTransport",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonProviderPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonFramePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonSoaViewPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonHealthPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonCommandBoundaryPath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonGameSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonGameTuiSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonEditorSurfacePath(statePath)",
|
||||
"AetheriaRuntimeStateBoundary.GetDaemonEditorTuiSurfacePath(statePath)"
|
||||
};
|
||||
var forbiddenProviderAdvertisementHits = forbiddenProviderAdvertisementSymbols
|
||||
.Where(symbol => providerAdvertisement.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (forbiddenProviderAdvertisementHits.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Odin-visible provider advertisement still advertises daemon sidecar paths instead of managed CultMesh records: " +
|
||||
string.Join(", ", forbiddenProviderAdvertisementHits));
|
||||
}
|
||||
|
||||
var requiredTickSymbols = new[]
|
||||
{
|
||||
"VerseId",
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public static class AetheriaProviderAdvertisementProjector
|
|||
public const string DaemonEditorTuiSurfaceKey = "eve:surface:aetheria.daemon.editor.tui";
|
||||
public const string ProviderId = "aetheria";
|
||||
private const string DaemonCommandBoundaryId = "aetheria.daemon.commands";
|
||||
private const string DaemonWitnessTransport = "cultcache-witness";
|
||||
private const string DaemonRecordTransport = "cultmesh-record";
|
||||
|
||||
public static EveProviderAdvertisementState Build(
|
||||
AetheriaVerseHostSettings settings,
|
||||
|
|
@ -74,57 +74,57 @@ public static class AetheriaProviderAdvertisementProjector
|
|||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonProviderPath(statePath),
|
||||
Summary = "Aetheria daemon-owned provider advertisement"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonProviderAdvertisement.ToString(),
|
||||
Summary = "Aetheria daemon-owned provider advertisement record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonFramePath(statePath),
|
||||
Summary = "Aetheria daemon simulation frame"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonFrameLatest.ToString(),
|
||||
Summary = "Aetheria daemon latest simulation frame record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonSoaViewPath(statePath),
|
||||
Summary = "Aetheria daemon SoA view for thin clients"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonSoaViewLatest.ToString(),
|
||||
Summary = "Aetheria daemon latest SoA view record for thin clients"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonHealthPath(statePath),
|
||||
Summary = "Aetheria daemon health publication"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonHealth.ToString(),
|
||||
Summary = "Aetheria daemon health record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonCommandBoundaryPath(statePath),
|
||||
Summary = "Aetheria daemon typed command boundary"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonCommandBoundary.ToString(),
|
||||
Summary = "Aetheria daemon typed command boundary record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonGameSurfacePath(statePath),
|
||||
Summary = "Aetheria daemon game Eve GUI surface"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonGameSurface.ToString(),
|
||||
Summary = "Aetheria daemon game Eve GUI surface record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonGameTuiSurfacePath(statePath),
|
||||
Summary = "Aetheria daemon game Eve TUI surface"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonGameTuiSurface.ToString(),
|
||||
Summary = "Aetheria daemon game Eve TUI surface record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonEditorSurfacePath(statePath),
|
||||
Summary = "Aetheria daemon editor Eve GUI surface"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonEditorSurface.ToString(),
|
||||
Summary = "Aetheria daemon editor Eve GUI surface record"
|
||||
},
|
||||
new EveProviderWitness
|
||||
{
|
||||
Kind = DaemonWitnessTransport,
|
||||
Ref = AetheriaRuntimeStateBoundary.GetDaemonEditorTuiSurfacePath(statePath),
|
||||
Summary = "Aetheria daemon editor Eve TUI surface"
|
||||
Kind = DaemonRecordTransport,
|
||||
Ref = AetheriaRuntimeVerseRecordKeys.DaemonEditorTuiSurface.ToString(),
|
||||
Summary = "Aetheria daemon editor Eve TUI surface record"
|
||||
}
|
||||
],
|
||||
Surfaces =
|
||||
|
|
@ -170,7 +170,7 @@ public static class AetheriaProviderAdvertisementProjector
|
|||
new EveProviderCommandRef
|
||||
{
|
||||
Command = DaemonCommandBoundaryId,
|
||||
Transport = DaemonWitnessTransport,
|
||||
Transport = "cultmesh",
|
||||
Summary = "Aetheria daemon typed command boundary"
|
||||
},
|
||||
new EveProviderCommandRef
|
||||
|
|
|
|||
Loading…
Reference in a new issue