| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:isolate'; | 6 import 'dart:isolate'; |
| 7 | 7 |
| 8 import 'package:mojo/public/dart/core.dart' as core; | 8 import 'package:mojo/core.dart' as core; |
| 9 | 9 |
| 10 main() { | 10 main() { |
| 11 var pipe = new core.MojoMessagePipe(); | 11 var pipe = new core.MojoMessagePipe(); |
| 12 assert(pipe != null); | 12 assert(pipe != null); |
| 13 | 13 |
| 14 var endpoint = pipe.endpoints[0]; | 14 var endpoint = pipe.endpoints[0]; |
| 15 assert(endpoint.handle.isValid); | 15 assert(endpoint.handle.isValid); |
| 16 | 16 |
| 17 var eventStream = new core.MojoEventStream(endpoint.handle); | 17 var eventStream = new core.MojoEventStream(endpoint.handle); |
| 18 var completer = new Completer(); | 18 var completer = new Completer(); |
| 19 int numEvents = 0; | 19 int numEvents = 0; |
| 20 | 20 |
| 21 eventStream.listen((_) { | 21 eventStream.listen((_) { |
| 22 numEvents++; | 22 numEvents++; |
| 23 eventStream.close(); | 23 eventStream.close(); |
| 24 }, onDone: () { | 24 }, onDone: () { |
| 25 completer.complete(numEvents); | 25 completer.complete(numEvents); |
| 26 }); | 26 }); |
| 27 eventStream.enableWriteEvents(); | 27 eventStream.enableWriteEvents(); |
| 28 | 28 |
| 29 completer.future.then((int numEvents) { | 29 completer.future.then((int numEvents) { |
| 30 assert(numEvents == 1); | 30 assert(numEvents == 1); |
| 31 }); | 31 }); |
| 32 } | 32 } |
| OLD | NEW |