executeStream<S> method

  1. @protected
Stream<S> executeStream<S>(
  1. FlutterRustBridgeTask<S> task
)
inherited

Similar to executeNormal, except that this will return a Stream instead of a Future.

Implementation

@protected
Stream<S> executeStream<S>(FlutterRustBridgeTask<S> task) async* {
  final receivePort = ReceivePort();
  task.callFfi(receivePort.sendPort.nativePort);

  await for (final raw in receivePort) {
    try {
      yield _transformRust2DartMessage(raw, task.parseSuccessData);
    } on _CloseStreamException {
      receivePort.close();
    }
  }
}