mirror of
https://github.com/go-gost/x.git
synced 2026-10-19 16:16:32 +00:00
The issue #777 analysis was written against v3.2.4; commits5484717and9fab332already fixed the global mutex stall, the no-timeout OpenStreamSync, and the missing IsClosed reuse check. This addresses the remaining real problems: - P1 (HIGH): quicDialer.Dial received the Router's 15s-timeout ctx but GetConn built its own context.Background()+30s, dropping request cancellation/deadline. Thread ctx into GetConn so OpenStreamSync honors the upstream deadline. Mirrored to the icmp dialer (identical structure). - P2 (MEDIUM): listener QUIC keepalive defaulted OFF while the dialer defaulted ON, so a server behind NAT without an explicit keepalive=true could let its return-path mapping expire. Make the listener default ON like the dialer. - P3 (LOW): set an explicit MaxIdleTimeout default (90s) on both dialer and listener so dead sessions are detected sooner; still overridable via maxIdleTimeout=. Docs updated to mark the already-fixed root causes and rename the remaining items P1-P3. Fixes go-gost/gost#777