perf: reduce timer in write_control

Signed-off-by: rfyiamcool <rfyiamcool@163.com>
This commit is contained in:
rfyiamcool 2023-12-08 17:24:58 +08:00 committed by Alex Vulaj
parent 85fb2d8136
commit f01629e7ea
1 changed files with 9 additions and 4 deletions

View File

@ -446,6 +446,9 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er
}
}
select {
case <-c.mu:
default:
timer := time.NewTimer(d)
select {
case <-c.mu:
@ -453,6 +456,8 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er
case <-timer.C:
return errWriteTimeout
}
}
defer func() { c.mu <- struct{}{} }()
c.writeErrMu.Lock()