leave method
Implementation
Future<void> leave() async {
Completer completer = Completer();
try {
// if(session !=null && session.length > 64){
// completer.completeError('Invalid parameter, session');
// return;
// }
if (_state == CallState.nullState) {
completer.completeError(
{'error': 'The state that cannot leave, state $_state'});
}
if (_ws.channel?.closeCode != null) {
completer
.completeError({'error': 'Invalid websocket connection state'});
}
if (_session.isEmpty && _state == CallState.sessionState) {
completer.completeError(
{'error': 'The state that cannot leave, state $_state'});
}
await _ws.requestLeave(_session);
completer.complete();
freeResources();
return completer.future;
} catch (error) {
completer.completeError(error);
}
}