(ev: string, ...args: any[])
| 638 | } |
| 639 | |
| 640 | override emit(ev: string, ...args: any[]): boolean { |
| 641 | if (ev !== "connection") { |
| 642 | return super.emit(ev, ...args); |
| 643 | } |
| 644 | |
| 645 | const socket = args[0] as Socket; |
| 646 | |
| 647 | if (socket.transport.name === "websocket") { |
| 648 | return super.emit(ev, ...args); |
| 649 | } |
| 650 | |
| 651 | debug("delaying connection"); |
| 652 | |
| 653 | socket[kDelayed] = true; |
| 654 | socket[kBuffer] = []; |
| 655 | |
| 656 | socket[kPacketListener] = (packet: Packet) => { |
| 657 | socket[kBuffer].push(packet); |
| 658 | }; |
| 659 | |
| 660 | socket.on("packet", socket[kPacketListener]); |
| 661 | |
| 662 | socket[kDelayedTimer] = setTimeout( |
| 663 | () => this._doConnect(socket), |
| 664 | this._opts.delayedConnectionTimeout, |
| 665 | ); |
| 666 | } |
| 667 | |
| 668 | private _doConnect(socket: Socket) { |
| 669 | if (!socket[kDelayed] || socket.readyState !== "open") { |
nothing calls this directly
no test coverage detected