From d577ae2e16d42ec1a69d88765f55d14ff6011b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 7 Aug 2024 23:03:06 +0800 Subject: [PATCH] feat(p2p): add tcp fast fail except --- gold/p2p/tcp/tcp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gold/p2p/tcp/tcp.go b/gold/p2p/tcp/tcp.go index b348f71..d197168 100644 --- a/gold/p2p/tcp/tcp.go +++ b/gold/p2p/tcp/tcp.go @@ -447,7 +447,7 @@ func (conn *Conn) WriteToPeer(b []byte, ep p2p.EndPoint) (n int, err error) { if len(b) >= 65536 { return 0, errors.New("data size " + strconv.Itoa(len(b)) + " is too large") } - if !conn.suberr && !conn.cplk.TryLock() { + if (!conn.suberr || len(conn.subs) > 0) && !conn.cplk.TryLock() { logrus.Infoln("[tcp] try sub write") n, err = conn.writeToPeer(b, tcpep, true) // try sub write if err == nil {