diff --git a/bench_test.go b/bench_test.go index a97341c1e53a746bb0071c4ea3ceca3ee28b0e60..6efbf484e6b2b3f9b0b4e56116b30fd734fb633a 100644 --- a/bench_test.go +++ b/bench_test.go @@ -99,6 +99,6 @@ func benchConn(b *testing.B, stream bool) { } func BenchmarkConn(b *testing.B) { - benchConn(b, true) benchConn(b, false) + benchConn(b, true) } diff --git a/websocket.go b/websocket.go index c5e3bf5fa48f9e8b074045a30392f9573193aa64..8688509a7facf58f95616d75015d72dc73e39c94 100644 --- a/websocket.go +++ b/websocket.go @@ -460,7 +460,7 @@ type messageWriter struct { // Write writes the given bytes to the WebSocket connection. func (w messageWriter) Write(p []byte) (int, error) { - n, err := w.Write(p) + n, err := w.write(p) if err != nil { return n, xerrors.Errorf("failed to write: %w", err) } @@ -522,14 +522,14 @@ func (w messageWriter) close() error { // You can only read a single message at a time so do not call this method // concurrently. func (c *Conn) Reader(ctx context.Context) (MessageType, io.Reader, error) { - typ, r, err := c.Reader(ctx) + typ, r, err := c.reader(ctx) if err != nil { return 0, nil, xerrors.Errorf("failed to get reader: %w", err) } return typ, r, nil } -func (c *Conn) reader(ctx context.Context) (MessageType, io.Reader, error) { +func (c *Conn) reader(ctx context.Context) (MessageType, io.Reader, error) { for !atomic.CompareAndSwapInt64(&c.activeReader, 0, 1) { select { case <-c.closed: