docs(xmldoc): fill missing XML docs + strip tracking-ID comments across src
v2-ci / build (push) Failing after 41s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
v2-ci / build (push) Failing after 41s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Adds <summary>/<param>/<returns>/<inheritdoc> where missing and removes project bookkeeping IDs (task/tracking refs) from shipped code comments, so the docs read cleanly and CommentChecker is quiet except for known false positives (PLC/protocol terms, event/IEqualityComparer inheritdoc). Doc/comment-only; no logic changed; solution builds clean.
This commit is contained in:
@@ -25,6 +25,7 @@ public sealed class AlertSignalRBridge : ReceiveActor
|
||||
/// </summary>
|
||||
/// <param name="hub">The SignalR hub context to send alerts to.</param>
|
||||
/// <param name="broadcaster">In-process fan-out read directly by the Blazor Server Alerts page.</param>
|
||||
/// <returns>The Akka <see cref="Akka.Actor.Props"/> for creating this actor.</returns>
|
||||
public static Props Props(IHubContext<AlertHub> hub, IInProcessBroadcaster<AlarmTransitionEvent> broadcaster) =>
|
||||
Akka.Actor.Props.Create(() => new AlertSignalRBridge(hub, broadcaster));
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ public sealed class DriverStatusHub : Hub
|
||||
/// the current snapshot from the in-memory store so the client renders state without
|
||||
/// waiting for the next change event.
|
||||
/// </summary>
|
||||
/// <param name="driverInstanceId">Identifier of the driver instance to join.</param>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
public async Task JoinDriver(string driverInstanceId)
|
||||
{
|
||||
var groupName = GroupName(driverInstanceId);
|
||||
@@ -40,5 +42,7 @@ public sealed class DriverStatusHub : Hub
|
||||
}
|
||||
|
||||
/// <summary>Builds the SignalR group name for a given driver instance.</summary>
|
||||
/// <param name="driverInstanceId">Identifier of the driver instance.</param>
|
||||
/// <returns>The SignalR group name for the driver instance.</returns>
|
||||
public static string GroupName(string driverInstanceId) => $"driver:{driverInstanceId}";
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ public sealed class DriverStatusSignalRBridge : ReceiveActor
|
||||
/// <summary>Creates actor props for a <see cref="DriverStatusSignalRBridge"/>.</summary>
|
||||
/// <param name="hub">The SignalR hub context for pushing snapshots to grouped clients.</param>
|
||||
/// <param name="store">Snapshot store updated before each SignalR push.</param>
|
||||
/// <returns>An Akka.NET <see cref="Props"/> instance for spawning the bridge actor.</returns>
|
||||
public static Props Props(IHubContext<DriverStatusHub> hub, IDriverStatusSnapshotStore store) =>
|
||||
Akka.Actor.Props.Create(() => new DriverStatusSignalRBridge(hub, store));
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ public static class HubRouteBuilderExtensions
|
||||
/// Maps all OtOpcUa Admin UI SignalR hubs to their configured endpoints.
|
||||
/// </summary>
|
||||
/// <param name="app">The endpoint route builder to register hubs on.</param>
|
||||
/// <returns>The same endpoint route builder, for chaining.</returns>
|
||||
public static IEndpointRouteBuilder MapOtOpcUaHubs(this IEndpointRouteBuilder app)
|
||||
{
|
||||
app.MapHub<FleetStatusHub>(FleetStatusHub.Endpoint);
|
||||
|
||||
@@ -24,6 +24,7 @@ public static class HubServiceCollectionExtensions
|
||||
/// </list>
|
||||
/// </summary>
|
||||
/// <param name="services">The service collection.</param>
|
||||
/// <returns>The same service collection, for chaining.</returns>
|
||||
public static IServiceCollection AddOtOpcUaDriverStatusServices(this IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton<IDriverStatusSnapshotStore, InMemoryDriverStatusSnapshotStore>();
|
||||
@@ -46,6 +47,7 @@ public static class HubServiceCollectionExtensions
|
||||
/// </code>
|
||||
/// </summary>
|
||||
/// <param name="builder">The Akka configuration builder.</param>
|
||||
/// <returns>The same builder, for chaining.</returns>
|
||||
public static AkkaConfigurationBuilder WithOtOpcUaSignalRBridges(this AkkaConfigurationBuilder builder)
|
||||
{
|
||||
builder.WithActors((system, registry, resolver) =>
|
||||
|
||||
@@ -11,10 +11,18 @@ namespace ZB.MOM.WW.OtOpcUa.AdminUI.Hubs;
|
||||
/// </summary>
|
||||
public interface IDriverStatusSnapshotStore
|
||||
{
|
||||
/// <summary>Stores or replaces the last-known health snapshot for a driver instance.</summary>
|
||||
/// <param name="snapshot">The driver health snapshot to store.</param>
|
||||
void Upsert(DriverHealthChanged snapshot);
|
||||
|
||||
/// <summary>Attempts to retrieve the last-known health snapshot for a driver instance.</summary>
|
||||
/// <param name="driverInstanceId">The driver instance's stable logical ID.</param>
|
||||
/// <param name="snapshot">The stored snapshot, if found.</param>
|
||||
/// <returns><see langword="true"/> if a snapshot was found; otherwise <see langword="false"/>.</returns>
|
||||
bool TryGet(string driverInstanceId, out DriverHealthChanged snapshot);
|
||||
|
||||
/// <summary>Returns a point-in-time snapshot of every driver instance's last-known health.</summary>
|
||||
/// <returns>A read-only collection of the last-known health snapshot for each driver instance.</returns>
|
||||
IReadOnlyCollection<DriverHealthChanged> GetAll();
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -25,6 +25,7 @@ public interface IInProcessBroadcaster<T>
|
||||
event Action<T>? Received;
|
||||
|
||||
/// <summary>Fan the item out to all current <see cref="Received"/> subscribers.</summary>
|
||||
/// <param name="item">The item to publish to subscribers.</param>
|
||||
void Publish(T item);
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -21,6 +21,7 @@ public sealed class ScriptLogSignalRBridge : ReceiveActor
|
||||
/// <summary>Creates a Props instance for the ScriptLogSignalRBridge.</summary>
|
||||
/// <param name="hub">The SignalR hub context for sending messages to clients.</param>
|
||||
/// <param name="broadcaster">In-process fan-out read directly by the Blazor Server Script log page.</param>
|
||||
/// <returns>A configured <see cref="Akka.Actor.Props"/> for creating the actor.</returns>
|
||||
public static Props Props(IHubContext<ScriptLogHub> hub, IInProcessBroadcaster<ScriptLogEntry> broadcaster) =>
|
||||
Akka.Actor.Props.Create(() => new ScriptLogSignalRBridge(hub, broadcaster));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user