perf: reduce timer in write_control

Signed-off-by: rfyiamcool <rfyiamcool@163.com>
This commit is contained in:
rfyiamcool 2024-01-22 13:47:31 +08:00 committed by Alex Vulaj
parent f01629e7ea
commit c5b8b8c38a
1 changed files with 25 additions and 0 deletions

View File

@ -148,6 +148,31 @@ func TestFraming(t *testing.T) {
} }
} }
func TestConcurrencyWriteControl(t *testing.T) {
const message = "this is a ping/pong messsage"
loop := 10
workers := 10
for i := 0; i < loop; i++ {
var connBuf bytes.Buffer
wg := sync.WaitGroup{}
wc := newTestConn(nil, &connBuf, true)
for i := 0; i < workers; i++ {
wg.Add(1)
go func() {
defer wg.Done()
if err := wc.WriteControl(PongMessage, []byte(message), time.Now().Add(time.Second)); err != nil {
t.Errorf("concurrently wc.WriteControl() returned %v", err)
}
}()
}
wg.Wait()
wc.Close()
}
}
func TestControl(t *testing.T) { func TestControl(t *testing.T) {
const message = "this is a ping/pong message" const message = "this is a ping/pong message"
for _, isServer := range []bool{true, false} { for _, isServer := range []bool{true, false} {