close method
Close the transport
Implementation
@override
void close() {
if (_isClosed) return;
_isClosed = true;
// Terminate session if configured
if (config.terminateOnClose && _sessionId != null) {
_terminateSession().catchError((error) {
_logger.debug('Failed to terminate session: $error');
});
}
// Close GET stream
_sseSubscription?.cancel();
_eventSource?.close();
// Clear pending requests without completing them with error
// to avoid unhandled exceptions during shutdown
_pendingRequests.clear();
_messageController.close();
_httpClient.close();
_oauthClient?.close();
_tokenManager?.dispose();
if (!_closeCompleter.isCompleted) {
_closeCompleter.complete();
}
}