mirror of
https://github.com/go-gost/x.git
synced 2026-10-19 16:16:32 +00:00
Convert the concrete *mux.Session into a mux.Session interface backed by smux and yamux, selected via the `mux.type` metadata key. Empty/unspecified defaults to "smux", so existing deployments are unchanged. Yamux's stream window is exposed via `mux.maxStreamWindow`. Also fix TestHandler_observeStats: the retry_after_observer_error subtest hung because stats.Events() drains (IsUpdated is Swap(false)) and no fresh event was generated for the recovery tick's fall-through flush. Inject a real client2 event so the recovery tick has new data to flush. Plan: docs/plans/2026-07-13-mux-pluggable-yamux.md