dispose method

void dispose()

Implementation

void dispose() {
  _closing = true;
  _markDisconnected(reason: closeReason, kind: closeKind ?? ProtocolCloseKind.client);
  final closingState = _clientClosedTerminalState();
  _setTerminalState(state: closingState);
  _failPendingRequests(closingState.requestError());
  unawaited(_failToolCallStreams(error: closingState.toolCallError()));
  sync.dispose();
  unawaited(messaging.stop());
  _protocolInstance.dispose();
  _entered = false;
  _closeKind = ProtocolCloseKind.client;
  _completeRoomClosed();
  _invokeTerminalCallbacks(useErrorCallback: false);
  _localParticipant = null;
}