| Index: runtime/bin/vmservice/vmservice_io.dart
|
| diff --git a/runtime/bin/vmservice/vmservice_io.dart b/runtime/bin/vmservice/vmservice_io.dart
|
| index 4e5ccabf2a75663afa54f3ba5bbaf5ac699cb7a9..49e8ad7c3b375a01d9d5cfface38538a689ca6e8 100644
|
| --- a/runtime/bin/vmservice/vmservice_io.dart
|
| +++ b/runtime/bin/vmservice/vmservice_io.dart
|
| @@ -127,6 +127,15 @@ Future writeFileCallback(Uri path, List<int> bytes) async {
|
| return WriteLimiter.scheduleWrite(path, bytes);
|
| }
|
|
|
| +Future writeStreamFileCallback(Uri path, Stream<List<int>> bytes) async {
|
| + var file = new File.fromUri(path);
|
| + var parent_directory = file.parent;
|
| + await parent_directory.create(recursive: true);
|
| + IOSink sink = await file.openWrite();
|
| + await sink.addStream(bytes);
|
| + await sink.close();
|
| +}
|
| +
|
| Future<List<int>> readFileCallback(Uri path) async {
|
| var file = new File.fromUri(path);
|
| return await file.readAsBytes();
|
| @@ -191,6 +200,7 @@ main() {
|
| VMServiceEmbedderHooks.createTempDir = createTempDirCallback;
|
| VMServiceEmbedderHooks.deleteDir = deleteDirCallback;
|
| VMServiceEmbedderHooks.writeFile = writeFileCallback;
|
| + VMServiceEmbedderHooks.writeStreamFile = writeStreamFileCallback;
|
| VMServiceEmbedderHooks.readFile = readFileCallback;
|
| VMServiceEmbedderHooks.listFiles = listFilesCallback;
|
| // Always instantiate the vmservice object so that the exit message
|
|
|