| 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 import 'dart:mojo_core' as core; | 7 import 'mojo:core' as core; |
| 8 | 8 |
| 9 main() { | 9 main() { |
| 10 var pipe = new core.MojoMessagePipe(); | 10 var pipe = new core.MojoMessagePipe(); |
| 11 assert(pipe != null); | 11 assert(pipe != null); |
| 12 | 12 |
| 13 var endpoint = pipe.endpoints[0]; | 13 var endpoint = pipe.endpoints[0]; |
| 14 assert(endpoint.handle.isValid); | 14 assert(endpoint.handle.isValid); |
| 15 | 15 |
| 16 var eventStream = new core.MojoEventStream(endpoint.handle); | 16 var eventStream = new core.MojoEventStream(endpoint.handle); |
| 17 var completer = new Completer(); | 17 var completer = new Completer(); |
| 18 int numEvents = 0; | 18 int numEvents = 0; |
| 19 | 19 |
| 20 eventStream.listen((_) { | 20 eventStream.listen((_) { |
| 21 numEvents++; | 21 numEvents++; |
| 22 eventStream.close(); | 22 eventStream.close(); |
| 23 }, onDone: () { | 23 }, onDone: () { |
| 24 completer.complete(numEvents); | 24 completer.complete(numEvents); |
| 25 }); | 25 }); |
| 26 eventStream.enableWriteEvents(); | 26 eventStream.enableWriteEvents(); |
| 27 | 27 |
| 28 completer.future.then((int numEvents) { | 28 completer.future.then((int numEvents) { |
| 29 assert(numEvents ==1); | 29 assert(numEvents ==1); |
| 30 }); | 30 }); |
| 31 } | 31 } |
| OLD | NEW |