translationProducerReady function

Future<void> translationProducerReady(
  1. TranslationProducerReadyOptions options
)

Handles the translation:producerReady socket event. Called when a translation producer is ready for consumption.

Implementation

Future<void> translationProducerReady(
    TranslationProducerReadyOptions options) async {
  try {
    final data = options.data;

    // Update producer map
    options.updateTranslationProducerMap?.call((prev) {
      final next = Map<String, Map<String, String>>.from(prev);
      next[data.originalProducerId] = {
        ...(next[data.originalProducerId] ?? {}),
        data.language: data.producerId,
      };
      return next;
    });

    // Pause original producer to save bandwidth
    if (options.pauseOriginalProducer != null) {
      await options.pauseOriginalProducer!(data.originalProducerId);
    }
  } catch (e) {
    // Handle error silently
  }
}