@override Future<void> close([int? code, String? reason]) { if (!_closed.isCompleted) _socket.close(code ?? 1000, reason ?? ''); return _closed.future; }