isolateStreamDataResponse function

StreamFetchResponse isolateStreamDataResponse({
  1. required int requestId,
  2. required bool success,
  3. required Uint8List? data,
  4. required bool hasMore,
  5. String? error,
})

Builds a worker StreamFetchResponse with inline or transferable payload.

Implementation

StreamFetchResponse isolateStreamDataResponse({
  required int requestId,
  required bool success,
  required Uint8List? data,
  required bool hasMore,
  String? error,
}) {
  if (data == null) {
    return StreamFetchResponse(
      requestId,
      success: success,
      hasMore: hasMore,
      error: error,
    );
  }
  final transferable = transferableIsolatePayload(data);
  if (transferable != null) {
    return StreamFetchResponse(
      requestId,
      success: success,
      transferableData: transferable,
      hasMore: hasMore,
      error: error,
    );
  }
  return StreamFetchResponse(
    requestId,
    success: success,
    data: data,
    hasMore: hasMore,
    error: error,
  );
}