docs(s7): point R2-01 at the shipped ConnectionBackoff primitive for the S7 connect throttle (05/STAB-8 seam); B4 complete
This commit is contained in:
@@ -145,7 +145,7 @@
|
||||
{
|
||||
"id": "B4.4",
|
||||
"subject": "B4: S7 seam comment pointing R2-01 at ConnectionBackoff; suites green; merge PR 4",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
"B4.1",
|
||||
"B4.2",
|
||||
|
||||
@@ -1215,9 +1215,14 @@ public sealed class S7Driver
|
||||
/// While the PLC is down every data call and probe tick pays a full connect attempt
|
||||
/// bounded only by <c>_options.Timeout</c> (STAB-8). This method is the single
|
||||
/// choke-point all S7 reconnects flow through (already gate-serialized), so the
|
||||
/// fleet-wide connect-attempt throttle planned in R2-09 plugs in here: a
|
||||
/// last-failed-attempt timestamp checked at the top of the slow path. Deliberately NOT
|
||||
/// implemented driver-locally — see
|
||||
/// fleet-wide connect-attempt throttle plugs in here. R2-09 (sub-batch B3/B4) shipped the
|
||||
/// shared <see cref="ConnectionBackoff"/> primitive
|
||||
/// (<c>src/Core/…/Core.Abstractions/ConnectionBackoff.cs</c>) — the S7 wiring is a
|
||||
/// per-driver <c>ConnectionBackoff</c> field consulted with <c>ShouldAttempt(now)</c> at
|
||||
/// the top of the slow path (fail fast + degrade inside the window) plus
|
||||
/// <c>RecordFailure</c>/<c>RecordSuccess</c> around the connect, all under <c>_gate</c>
|
||||
/// (which satisfies the primitive's caller-synchronized contract; TwinCAT/FOCAS/AbCip
|
||||
/// already wire it this way). Deliberately NOT implemented driver-locally here — owned by
|
||||
/// <c>archreview/plans/R2-01-s7-fault-hardening-plan.md</c> Finding 3.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
|
||||
Reference in New Issue
Block a user