@override Future<void>? open({Duration? pingInterval}) async { _isOpen = true; if (!_onReady.isCompleted) _onReady.complete(); }