docs(xml): fill missing XML doc comments + strip task-tracking refs across src (fixdocs)
Add missing <summary>/<param>/<returns>/<typeparam> tags and switch interface implementations to <inheritdoc/> across 106 files; strip project bookkeeping identifiers (Task NN, #05-TNN, PLAN-04, StoreAndForward-0NN) from shipped code comments while preserving the descriptive rationale. Comment-only: zero code-logic lines changed; solution builds 0/0. Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
@@ -23,7 +23,7 @@ namespace ZB.MOM.WW.ScadaBridge.StoreAndForward;
|
||||
/// <item><description>the buffered payload is corrupt (undeserialisable / null) →
|
||||
/// <see cref="DeliverAsync"/> returns <c>false</c> (the handler contract's
|
||||
/// permanent-failure signal); the engine parks the row so the payload is preserved
|
||||
/// for operator forensics. Supersedes StoreAndForward-018's silent discard.</description></item>
|
||||
/// for operator forensics.</description></item>
|
||||
/// </list>
|
||||
///
|
||||
/// The forward travels over the ClusterClient command/control transport: the handler
|
||||
@@ -90,8 +90,7 @@ public sealed class NotificationForwarder
|
||||
PreviewPayload(message.PayloadJson));
|
||||
// false = permanent failure by the delivery-handler contract → the
|
||||
// engine parks the row (payload preserved, operator can inspect or
|
||||
// discard). Supersedes StoreAndForward-018's silent discard, which
|
||||
// reported the notification as delivered while losing it entirely.
|
||||
// discard).
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ public class StoreAndForwardService
|
||||
private Func<bool>? _deliveryGate;
|
||||
|
||||
/// <summary>Installs the active-node delivery gate (see <see cref="_deliveryGate"/>).</summary>
|
||||
/// <param name="gate">Predicate returning <c>true</c> when this node should run the retry sweep.</param>
|
||||
public void SetDeliveryGate(Func<bool> gate) => _deliveryGate = gate;
|
||||
|
||||
/// <summary>
|
||||
@@ -704,8 +705,8 @@ public class StoreAndForwardService
|
||||
// Group due rows into per-(category,target) lanes. GroupBy is stable, so
|
||||
// each lane preserves created_at-ASC (oldest-first) order. Lanes run
|
||||
// concurrently up to SweepTargetParallelism, so one slow/dead target no
|
||||
// longer blocks delivery to healthy ones (arch review 02, Performance #2);
|
||||
// within a lane delivery stays strictly sequential (per-target FIFO).
|
||||
// longer blocks delivery to healthy ones; within a lane delivery stays
|
||||
// strictly sequential (per-target FIFO).
|
||||
var lanes = messages
|
||||
.GroupBy(m => (m.Category, m.Target))
|
||||
.Select(g => g.ToList())
|
||||
@@ -719,7 +720,7 @@ public class StoreAndForwardService
|
||||
{
|
||||
foreach (var message in lane)
|
||||
{
|
||||
// Task 8 short-circuit, per lane: one transient failure means
|
||||
// Short-circuit, per lane: one transient failure means
|
||||
// the target is down — skip the rest of this lane this sweep
|
||||
// rather than burning a full timeout per remaining message.
|
||||
// Skipped rows keep their RetryCount/LastAttemptAt untouched.
|
||||
@@ -912,7 +913,7 @@ public class StoreAndForwardService
|
||||
|
||||
if (_observerPump is null)
|
||||
{
|
||||
// Not started: process inline (preserves pre-Task-19 test behavior).
|
||||
// Not started: process inline (preserves prior test behavior).
|
||||
return new ValueTask(work());
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ public class StoreAndForwardStorage
|
||||
// reads back ParentExecutionId = null (back-compat).
|
||||
await AddColumnIfMissingAsync(connection, "parent_execution_id", "TEXT");
|
||||
|
||||
// Additively add the epoch-ms sibling of last_attempt_at (Task 18). The
|
||||
// Additively add the epoch-ms sibling of last_attempt_at. The
|
||||
// ISO-8601 text column stays authoritative for reads / back-compat; this
|
||||
// INTEGER column drives the due predicate so the sweep no longer parses
|
||||
// julianday() per row.
|
||||
@@ -371,6 +371,7 @@ public class StoreAndForwardStorage
|
||||
/// <summary>
|
||||
/// Gets all messages that are due for retry (Pending status, last attempt older than retry interval).
|
||||
/// </summary>
|
||||
/// <param name="limit">Maximum number of messages to return, or 0 for no limit.</param>
|
||||
/// <returns>A task that resolves to the list of messages due for retry, ordered by creation time ascending.</returns>
|
||||
public async Task<List<StoreAndForwardMessage>> GetMessagesForRetryAsync(int limit = 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user