From 669c01a5d495ad20ead59022ff97e2e5e7d6d4e1 Mon Sep 17 00:00:00 2001 From: Fangliding Date: Mon, 9 Nov 2026 20:50:10 +0800 Subject: [PATCH] wrap writter --- common/mux/client.go | 3 +++ common/mux/server.go | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/mux/client.go b/common/mux/client.go index 1d0180eef..65ee73e28 100644 --- a/common/mux/client.go +++ b/common/mux/client.go @@ -188,6 +188,9 @@ var ( // NewClientWorker creates a new mux.Client. func NewClientWorker(stream transport.Link, s ClientStrategy) (*ClientWorker, error) { + writer := buf.NewBufferedWriter(stream.Writer) + writer.SetBuffered(false) + stream.Writer = writer c := &ClientWorker{ sessionManager: NewSessionManager(), link: stream, diff --git a/common/mux/server.go b/common/mux/server.go index c23a3789e..01a1dac81 100644 --- a/common/mux/server.go +++ b/common/mux/server.go @@ -93,9 +93,11 @@ type ServerWorker struct { } func NewServerWorker(ctx context.Context, d routing.Dispatcher, link *transport.Link) (*ServerWorker, error) { + writer := buf.NewBufferedWriter(link.Writer) + writer.SetBuffered(false) worker := &ServerWorker{ dispatcher: d, - link: link, + link: &transport.Link{Reader: link.Reader, Writer: writer}, sessionManager: NewSessionManager(), done: done.New(), timer: time.NewTicker(60 * time.Second),