checkAndTriggerQueueCompletion method
void
checkAndTriggerQueueCompletion(
- int runId
)
Implementation
void checkAndTriggerQueueCompletion(int runId) {
final queue = _eventQueues[runId];
if (queue == null || queue.isEmpty) {
final callback = queueCompletionCallbacks[runId];
if (callback != null) {
final aiMsg = aiAssistantMessages[runId];
final toolResult = aiToolResultMessages[runId];
final toolArg = aiToolArgumentMessages[runId];
if (aiMsg != null) {
aiAssistantMessages.remove(runId);
Future.microtask(() => callback.onQueueCompleted(aiMsg, null, null));
CometChatStreamCallBackEvents.ccStreamCompleted(true);
}
if (toolResult != null) {
aiToolResultMessages.remove(runId);
Future.microtask(
() => callback.onQueueCompleted(null, toolResult, null));
}
if (toolArg != null) {
aiToolArgumentMessages.remove(runId);
Future.microtask(
() => callback.onQueueCompleted(null, null, toolArg));
}
}
}
}