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 |