providerIdleStallFired function
The idle-watchdog hook: emits the pinned
idle watchdog FIRED after Ns (conn age, port P) line and initiates
the payload dump — called by createSseIterator's watchdog AT FIRE
TIME, before the abort completes (AC2 ordering + AC3).
Implementation
void providerIdleStallFired(
http.StreamedResponse? response,
Duration idleTimeout,
) {
final record = response == null ? null : stallRequestRecordFor(response);
final connAge = record?.connAgeAt(DateTime.now());
emitConnTrace(
ConnTraceKind.idleWatchdogFired,
idleWatchdogFiredLine(
idleTimeout: idleTimeout,
connAge: connAge,
port: record?.localPort,
),
port: record?.localPort,
connAgeMs: connAge?.inMilliseconds,
idleTimeoutMs: idleTimeout.inMilliseconds,
);
unawaited(
dumpStalledRequest(
record: record,
watchdog: 'stream-idle',
idleTimeout: idleTimeout,
),
);
}