connect method

void connect()

Implementation

void connect() {
  if (_socket != null) return;
  instance = this;

  final nonce =
      '${DateTime.now().millisecondsSinceEpoch.toRadixString(36)}-flutter';

  final socket = io.io(
    socketUrl,
    io.OptionBuilder()
        .setTransports(['websocket'])
        .setQuery({
          'deviceName': deviceName,
          'deviceId': deviceId,
          'platform': platform,
          'extraDeviceInfo': _jsonEncode(_extraDeviceInfo),
          'envVariables': '{}',
          'connectionNonce': nonce,
        })
        .enableReconnection()
        .setReconnectionDelay(1000)
        .setReconnectionDelayMax(5000)
        .build(),
  );
  _socket = socket;

  socket.onConnect((_) {
    _setStatus(BuoySyncState.connected);
    _sendCapabilities();
    _sendLicense();
  });
  socket.onDisconnect((_) => _setStatus(BuoySyncState.retrying));
  socket.onConnectError(
    (error) => _setStatus(BuoySyncState.retrying, error?.toString()),
  );
  socket.on('devtool-watch', (data) => _handleWatch(_asMap(data)));
  socket.on('request-devtool-state', (data) => _handleRequest(_asMap(data)));
  socket.on('devtool-action', (data) => _handleAction(_asMap(data)));
}