connect method

Future<void> connect()

Implementation

Future<void> connect() async {
  _transportClosed = false;
  _messageSubscription ??= _connector.messageStream.listen(
    (message) {
      if (message.id != 0) {
        _sorter.checkMessage(message);
      }
    },
    onError: (Object error, StackTrace stackTrace) {
      _markDisconnected(error, stackTrace);
    },
    onDone: () {
      _markDisconnected(ButtplugClientException("Connection closed"));
    },
  );
  try {
    await _connector.connect();
    if (_transportClosed) {
      throw ButtplugClientException("Connection closed during connect");
    }
    _connected = true;
  } catch (error, stackTrace) {
    _markDisconnected(error, stackTrace);
    rethrow;
  }
}