Skip to content

Emit stalled socket write timeouts (GOL-389) - #147

Merged
noise64 merged 6 commits into
gol-360-tcp-write-backpressurefrom
gol-389-stalled-write-timeout
Sep 4, 2026
Merged

Emit stalled socket write timeouts (GOL-389)#147
noise64 merged 6 commits into
gol-360-tcp-write-backpressurefrom
gol-389-stalled-write-timeout

Conversation

@noise64

@noise64 noise64 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor
  • resolves GOL-389
  • adds Node-compatible stalled-write timeout checkpoints on top of GOL-360's truthful native TCP write progress and backpressure accounting
  • keeps timeout validation and normalization in JavaScript while Rust owns P2/P3 transport progress, waiter lifetimes, and one-shot timeout checkpointing
  • rearms only after observed write progress or explicit timeout reconfiguration, and releases P2 pollables before timeout callbacks can destroy a socket
  • adds bounded P2/P3 lifecycle coverage for stalled writes, progress, listener reconfiguration, close, and oversized or fractional timeout values
  • records the separate test-net-write-slow receiver-end lifecycle gap without claiming that GOL-389 fixes it

Node compatibility

  • primary CI-enforced: 3174/4387 (72.4%)3174/4387 (72.4%)
  • full public: 3174/5750 (55.2%)3174/5750 (55.2%)
  • node:net: 148 passing and 38 known gaps → unchanged
  • the inventory change only replaces the broad reason for test-net-write-slow with its observed pause/resume receiver-end failure; no test is reclassified

@noise64
noise64 merged commit ca88e47 into gol-360-tcp-write-backpressure Sep 4, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant