handleIncomingEvent method

void handleIncomingEvent(
  1. int runId,
  2. AIAssistantBaseEvent event
)

Implementation

void handleIncomingEvent(int runId, AIAssistantBaseEvent event) {
  if (!_isConnected || _disconnectedRunIds.contains(runId)) {
    debugPrint('[AI Stream] Ignoring event for disconnected runId: $runId');
    return;
  }

  if (_eventQueues.containsKey(runId)) {
    _eventQueues[runId]?.add(event);
  } else if (_eventQueues.length < maxConcurrentQueues) {
    _eventQueues[runId] = Queue<AIAssistantBaseEvent>();
    _eventQueues[runId]?.add(event);
  }

  if (_controllers.containsKey(runId)) {
    _emitNext(runId, onAiAssistantEvent: _callbacks[runId]);
  }
}