docs: complete XML doc coverage (returns, summaries, inheritdoc)
Resolve all 622 issues flagged by the enhanced CommentChecker: add missing <returns> tags (incl. the standard phrasing on non-generic Task methods), add missing <summary> tags, and replace misused/redundant <inheritdoc/> on members that override or implement nothing with real documentation. Documentation-only — no behavior change; solution builds clean.
This commit is contained in:
@@ -79,6 +79,7 @@ public sealed class BundleImporter : IBundleImporter
|
||||
/// <param name="encryptor">Handles AES-256-GCM decryption of encrypted bundles.</param>
|
||||
/// <param name="entitySerializer">Deserializes entity DTOs from bundle content.</param>
|
||||
/// <param name="sessionStore">In-memory session store for loaded bundle state.</param>
|
||||
/// <param name="unlockRateLimiter">Rate limiter for passphrase unlock attempts per client IP.</param>
|
||||
/// <param name="options">Transport configuration options.</param>
|
||||
/// <param name="timeProvider">Abstracted time provider for testability.</param>
|
||||
/// <param name="templateRepo">Template engine repository for diff and apply.</param>
|
||||
|
||||
@@ -21,6 +21,11 @@ internal sealed class BundleSessionEvictionService : BackgroundService
|
||||
private readonly IBundleSessionStore _sessionStore;
|
||||
private readonly ILogger<BundleSessionEvictionService> _logger;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of <see cref="BundleSessionEvictionService"/>.
|
||||
/// </summary>
|
||||
/// <param name="sessionStore">The bundle session store to sweep for expired sessions.</param>
|
||||
/// <param name="logger">Logger for sweep diagnostics.</param>
|
||||
public BundleSessionEvictionService(
|
||||
IBundleSessionStore sessionStore,
|
||||
ILogger<BundleSessionEvictionService> logger)
|
||||
@@ -29,6 +34,7 @@ internal sealed class BundleSessionEvictionService : BackgroundService
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
while (!stoppingToken.IsCancellationRequested)
|
||||
|
||||
@@ -122,6 +122,8 @@ public sealed class BundleUnlockRateLimiter
|
||||
/// within the trailing window. Primarily for tests / diagnostics; not part of the
|
||||
/// hot-path.
|
||||
/// </summary>
|
||||
/// <param name="clientKey">Opaque caller identifier — typically the remote IP.</param>
|
||||
/// <returns>The number of recorded attempts for the key that still fall within the trailing window.</returns>
|
||||
public int GetAttemptCount(string clientKey)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(clientKey);
|
||||
@@ -150,6 +152,7 @@ public sealed class BundleUnlockRateLimiter
|
||||
/// </summary>
|
||||
private sealed class AttemptBucket
|
||||
{
|
||||
/// <summary>Ordered queue of attempt timestamps within the current trailing window.</summary>
|
||||
public Queue<DateTimeOffset> Timestamps { get; } = new();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user