disconnect method
Disconnect from the remote session.
Implementation
Future<void> disconnect() async {
_heartbeatTimer?.cancel();
_reconnectTimer?.cancel();
await _socket?.close();
_socket = null;
_setState(RemoteSessionState.disconnected);
if (_sessionInfo != null) {
_eventController.add(
RemoteDisconnected(_sessionInfo!.sessionId, 'User disconnected'),
);
}
// Cancel pending requests.
for (final entry in _pendingRequests.entries) {
entry.value.completeError(StateError('Disconnected'));
}
_pendingRequests.clear();
}