docs: backfill XML documentation across 756 files
v2-ci / build (push) Failing after 1m43s
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>, <typeparam>, and <inheritdoc/> tags to public
members surfaced by commentchecker — resolves 5,847 of 5,869 issues
(99.6%) across three /fixdocs passes.
This commit is contained in:
Joseph Doherty
2026-05-28 08:10:17 -04:00
parent f9fc7dd2e1
commit 64e3fbe035
756 changed files with 9876 additions and 96 deletions
@@ -17,6 +17,7 @@ namespace ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Tests.Runtime;
/// </summary>
public sealed class EventPumpBoundedChannelTests
{
/// <summary>Verifies that the event pump drops newest events when the bounded channel fills and records metrics for dropped events.</summary>
[Fact]
public async Task Drops_newest_when_channel_fills_and_records_metric()
{
@@ -66,6 +67,7 @@ public sealed class EventPumpBoundedChannelTests
}
}
/// <summary>Verifies that the event pump throws an exception when the channel capacity is invalid.</summary>
[Fact]
public async Task Throws_when_channelCapacity_is_invalid()
{
@@ -78,6 +80,7 @@ public sealed class EventPumpBoundedChannelTests
await Task.CompletedTask;
}
/// <summary>Verifies that event pump metrics are tagged with the client name for tracking multiple driver hosts.</summary>
[Fact]
public async Task Tags_metrics_with_client_name_for_multi_driver_hosts()
{
@@ -169,10 +172,15 @@ public sealed class EventPumpBoundedChannelTests
{
public MeterListener? Listener;
internal long _received, _dispatched, _dropped;
/// <summary>Gets the count of received events.</summary>
public long Received => Interlocked.Read(ref _received);
/// <summary>Gets the count of dispatched events.</summary>
public long Dispatched => Interlocked.Read(ref _dispatched);
/// <summary>Gets the count of dropped events.</summary>
public long Dropped => Interlocked.Read(ref _dropped);
/// <summary>Gets the count of in-flight events.</summary>
public long InFlight => Math.Max(0, Received - Dispatched - Dropped);
/// <summary>Disposes the meter listener.</summary>
public void Dispose() => Listener?.Dispose();
}
@@ -181,16 +189,32 @@ public sealed class EventPumpBoundedChannelTests
private readonly Channel<MxEvent> _stream =
Channel.CreateUnbounded<MxEvent>(new UnboundedChannelOptions { SingleReader = true });
/// <summary>Subscribes to a bulk list of tag references.</summary>
/// <param name="fullReferences">The list of full references to subscribe to.</param>
/// <param name="bufferedUpdateIntervalMs">The buffered update interval in milliseconds.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>An empty result list.</returns>
public Task<IReadOnlyList<SubscribeResult>> SubscribeBulkAsync(
IReadOnlyList<string> fullReferences, int bufferedUpdateIntervalMs, CancellationToken cancellationToken)
=> Task.FromResult<IReadOnlyList<SubscribeResult>>([]);
/// <summary>Unsubscribes from a bulk list of item handles.</summary>
/// <param name="itemHandles">The list of item handles to unsubscribe from.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>A completed task.</returns>
public Task UnsubscribeBulkAsync(IReadOnlyList<int> itemHandles, CancellationToken cancellationToken)
=> Task.CompletedTask;
/// <summary>Streams events asynchronously.</summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>An async enumerable of MxEvent objects.</returns>
public IAsyncEnumerable<MxEvent> StreamEventsAsync(CancellationToken cancellationToken)
=> _stream.Reader.ReadAllAsync(cancellationToken);
/// <summary>Emits a test event with the specified item handle and value.</summary>
/// <param name="itemHandle">The item handle.</param>
/// <param name="value">The event value.</param>
/// <returns>A completed value task.</returns>
public ValueTask EmitAsync(int itemHandle, double value) =>
_stream.Writer.WriteAsync(new MxEvent
{