Skip to content

Commit fb3b083

Browse files
committed
close.go: Drop support for Go 1.13
1 parent cdeb980 commit fb3b083

File tree

8 files changed

+31
-40
lines changed

8 files changed

+31
-40
lines changed

close.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"encoding/binary"
99
"errors"
1010
"fmt"
11+
"net"
1112
"time"
1213

1314
"nhooyr.io/websocket/internal/errd"
@@ -107,7 +108,7 @@ func (c *Conn) CloseNow() (err error) {
107108
defer errd.Wrap(&err, "failed to close WebSocket")
108109

109110
if c.isClosed() {
110-
return errClosed
111+
return net.ErrClosed
111112
}
112113

113114
c.close(nil)
@@ -124,7 +125,7 @@ func (c *Conn) closeHandshake(code StatusCode, reason string) (err error) {
124125
return writeErr
125126
}
126127

127-
if CloseStatus(closeHandshakeErr) == -1 && !errors.Is(errClosed, closeHandshakeErr) {
128+
if CloseStatus(closeHandshakeErr) == -1 && !errors.Is(net.ErrClosed, closeHandshakeErr) {
128129
return closeHandshakeErr
129130
}
130131

@@ -137,7 +138,7 @@ func (c *Conn) writeClose(code StatusCode, reason string) error {
137138
c.wroteClose = true
138139
c.closeMu.Unlock()
139140
if wroteClose {
140-
return errClosed
141+
return net.ErrClosed
141142
}
142143

143144
ce := CloseError{

close_go113.go

Lines changed: 0 additions & 9 deletions
This file was deleted.

close_go116.go

Lines changed: 0 additions & 9 deletions
This file was deleted.

conn.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"errors"
1010
"fmt"
1111
"io"
12+
"net"
1213
"runtime"
1314
"strconv"
1415
"sync"
@@ -228,7 +229,7 @@ func (c *Conn) ping(ctx context.Context, p string) error {
228229

229230
select {
230231
case <-c.closed:
231-
return errClosed
232+
return net.ErrClosed
232233
case <-ctx.Done():
233234
err := fmt.Errorf("failed to wait for pong: %w", ctx.Err())
234235
c.close(err)
@@ -266,7 +267,7 @@ func (m *mu) tryLock() bool {
266267
func (m *mu) lock(ctx context.Context) error {
267268
select {
268269
case <-m.c.closed:
269-
return errClosed
270+
return net.ErrClosed
270271
case <-ctx.Done():
271272
err := fmt.Errorf("failed to acquire lock: %w", ctx.Err())
272273
m.c.close(err)
@@ -279,7 +280,7 @@ func (m *mu) lock(ctx context.Context) error {
279280
case <-m.c.closed:
280281
// Make sure to release.
281282
m.unlock()
282-
return errClosed
283+
return net.ErrClosed
283284
default:
284285
}
285286
return nil

export_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33

44
package websocket
55

6-
import "nhooyr.io/websocket/internal/util"
6+
import (
7+
"net"
8+
9+
"nhooyr.io/websocket/internal/util"
10+
)
711

812
func (c *Conn) RecordBytesWritten() *int {
913
var bytesWritten int
@@ -24,7 +28,7 @@ func (c *Conn) RecordBytesRead() *int {
2428
return &bytesRead
2529
}
2630

27-
var ErrClosed = errClosed
31+
var ErrClosed = net.ErrClosed
2832

2933
var ExportedDial = dial
3034
var SecWebSocketAccept = secWebSocketAccept

read.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"errors"
1010
"fmt"
1111
"io"
12+
"net"
1213
"strings"
1314
"time"
1415

@@ -206,15 +207,15 @@ func (c *Conn) readLoop(ctx context.Context) (header, error) {
206207
func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
207208
select {
208209
case <-c.closed:
209-
return header{}, errClosed
210+
return header{}, net.ErrClosed
210211
case c.readTimeout <- ctx:
211212
}
212213

213214
h, err := readFrameHeader(c.br, c.readHeaderBuf[:])
214215
if err != nil {
215216
select {
216217
case <-c.closed:
217-
return header{}, errClosed
218+
return header{}, net.ErrClosed
218219
case <-ctx.Done():
219220
return header{}, ctx.Err()
220221
default:
@@ -225,7 +226,7 @@ func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
225226

226227
select {
227228
case <-c.closed:
228-
return header{}, errClosed
229+
return header{}, net.ErrClosed
229230
case c.readTimeout <- context.Background():
230231
}
231232

@@ -235,15 +236,15 @@ func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
235236
func (c *Conn) readFramePayload(ctx context.Context, p []byte) (int, error) {
236237
select {
237238
case <-c.closed:
238-
return 0, errClosed
239+
return 0, net.ErrClosed
239240
case c.readTimeout <- ctx:
240241
}
241242

242243
n, err := io.ReadFull(c.br, p)
243244
if err != nil {
244245
select {
245246
case <-c.closed:
246-
return n, errClosed
247+
return n, net.ErrClosed
247248
case <-ctx.Done():
248249
return n, ctx.Err()
249250
default:
@@ -255,7 +256,7 @@ func (c *Conn) readFramePayload(ctx context.Context, p []byte) (int, error) {
255256

256257
select {
257258
case <-c.closed:
258-
return n, errClosed
259+
return n, net.ErrClosed
259260
case c.readTimeout <- context.Background():
260261
}
261262

write.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"errors"
1212
"fmt"
1313
"io"
14+
"net"
1415
"time"
1516

1617
"compress/flate"
@@ -262,22 +263,22 @@ func (c *Conn) writeFrame(ctx context.Context, fin bool, flate bool, opcode opco
262263
case <-ctx.Done():
263264
return 0, ctx.Err()
264265
case <-c.closed:
265-
return 0, errClosed
266+
return 0, net.ErrClosed
266267
}
267268
}
268269
defer c.writeFrameMu.unlock()
269270

270271
select {
271272
case <-c.closed:
272-
return 0, errClosed
273+
return 0, net.ErrClosed
273274
case c.writeTimeout <- ctx:
274275
}
275276

276277
defer func() {
277278
if err != nil {
278279
select {
279280
case <-c.closed:
280-
err = errClosed
281+
err = net.ErrClosed
281282
case <-ctx.Done():
282283
err = ctx.Err()
283284
default:
@@ -327,7 +328,7 @@ func (c *Conn) writeFrame(ctx context.Context, fin bool, flate bool, opcode opco
327328
if opcode == opClose {
328329
return n, nil
329330
}
330-
return n, errClosed
331+
return n, net.ErrClosed
331332
case c.writeTimeout <- context.Background():
332333
}
333334

ws_js.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"errors"
77
"fmt"
88
"io"
9+
"net"
910
"net/http"
1011
"reflect"
1112
"runtime"
@@ -151,7 +152,7 @@ func (c *Conn) read(ctx context.Context) (MessageType, []byte, error) {
151152
return 0, nil, ctx.Err()
152153
case <-c.readSignal:
153154
case <-c.closed:
154-
return 0, nil, errClosed
155+
return 0, nil, net.ErrClosed
155156
}
156157

157158
c.readBufMu.Lock()
@@ -205,7 +206,7 @@ func (c *Conn) Write(ctx context.Context, typ MessageType, p []byte) error {
205206

206207
func (c *Conn) write(ctx context.Context, typ MessageType, p []byte) error {
207208
if c.isClosed() {
208-
return errClosed
209+
return net.ErrClosed
209210
}
210211
switch typ {
211212
case MessageBinary:
@@ -243,7 +244,7 @@ func (c *Conn) exportedClose(code StatusCode, reason string) error {
243244
defer c.closingMu.Unlock()
244245

245246
if c.isClosed() {
246-
return errClosed
247+
return net.ErrClosed
247248
}
248249

249250
ce := fmt.Errorf("sent close: %w", CloseError{
@@ -321,7 +322,7 @@ func dial(ctx context.Context, url string, opts *DialOptions) (*Conn, *http.Resp
321322
StatusCode: http.StatusSwitchingProtocols,
322323
}, nil
323324
case <-c.closed:
324-
return nil, nil, errClosed
325+
return nil, nil, net.ErrClosed
325326
}
326327
}
327328

0 commit comments

Comments
 (0)