isolatedImageConverter function

void isolatedImageConverter(
  1. SendPort port
)

The isolated function to handle image conversion in a separate thread.

This function sets up a ReceivePort to listen for incoming messages. When it receives an ImageFromMainThread message, it processes the image and sends back the result.

Implementation

@pragma('vm:entry-point')
void isolatedImageConverter(SendPort port) {
  final receivePort = ReceivePort();
  port.send(receivePort.sendPort);

  Map<String, Completer> tasks = {};

  receivePort.listen((dynamic message) async {
    if (message is ImageConvertThreadRequest) {
      _handleImageConvertRequest(message, port, tasks);
    } else if (message is ThreadRequest) {
      await _handleThreadRequest(message, port);
    } else if (message is Map<String, String>) {
      if (message.containsKey('mode') &&
          message['mode'] == 'destroyActiveTasks') {
        _handleKillRequest(message['ignoreTaskId']!, tasks);
      }
    }
  });
}