kickOut method

Future<void> kickOut({
  1. required String target,
})

Implementation

Future<void> kickOut({required String target}) async {
  Completer completer = Completer();
  try {
    if (_session == '') {
      completer
          .completeError({'error': 'Invalid session, session $_session'});
    }
    if (target.length > 128) {
      completer.completeError('Invalid parameter, target');
      return;
    }
    if (_state != CallState.connectState) {
      completer.completeError(
          {'error': 'The state that cannot kickout, state $_state'});
    }
    if (_ws.channel?.closeCode != null) {
      completer
          .completeError({'error': 'Invalid websocket connection state'});
    }

    await _ws.requestKickout(_session, target);

    completer.complete();
    return completer.future;
  } catch (error) {
    completer.completeError(error);
  }
}