docs(http): document Gun pool behavior

This commit is contained in:
Lain Soykaf 2026-07-17 20:35:40 +04:00
commit d0d6c986f4
No known key found for this signature in database
4 changed files with 17 additions and 1 deletions

12
DEVLOG.md Normal file
View file

@ -0,0 +1,12 @@
# Development Log
## Gun pool validation
- The previous unique origin registry forced concurrent HTTP/1 requests onto one connection.
- Pool identity omitted proxy routes and credentials, allowing incompatible routes to reuse a connection.
- Gun 2.2 CONNECT requests require their tunnel stream reference on subsequent requests; Tesla's bundled Gun adapter does not preserve it.
- CONNECT and SOCKS5 setup returned before the destination tunnel was ready and did not pass authentication credentials.
- The existing global `max_connections` limit and idle reclaimer bound HTTP/1 sibling and many-host connection growth.
- SOCKS4 is not supported by Gun 2.2 and is now rejected explicitly by the Gun adapter.
- Gun reports a stale stream error to the process that calls `cancel/2`; pool workers must consume that reply so one HTTP/2 cancellation cannot terminate other multiplexed requests.
- Streamed uploads must be registered before body enumeration and cancelled if enumeration exits, throws, or raises, otherwise a partial HTTP/1 request can remain reusable.