Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(260)

Side by Side Diff: services/dart/test/pingpong_target/lib/main.dart

Issue 1414483010: Dart: Use a RawReceivePort to receive events for Mojo handles. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « services/dart/test/pingpong/lib/main.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 6
7 import 'package:mojo/application.dart'; 7 import 'package:mojo/application.dart';
8 import 'package:mojo/bindings.dart'; 8 import 'package:mojo/bindings.dart';
9 import 'package:mojo/core.dart'; 9 import 'package:mojo/core.dart';
10 10
(...skipping 10 matching lines...) Expand all
21 21
22 void setClient(ProxyBase proxyBase) { 22 void setClient(ProxyBase proxyBase) {
23 assert(_pingPongClient == null); 23 assert(_pingPongClient == null);
24 _pingPongClient = proxyBase; 24 _pingPongClient = proxyBase;
25 } 25 }
26 26
27 void ping(int pingValue) => _pingPongClient.ptr.pong(pingValue + 1); 27 void ping(int pingValue) => _pingPongClient.ptr.pong(pingValue + 1);
28 28
29 // These methods are unimplemented; they merely throw on invocation. 29 // These methods are unimplemented; they merely throw on invocation.
30 Future<PingPongServicePingTargetUrlResponseParams> pingTargetUrl( 30 Future<PingPongServicePingTargetUrlResponseParams> pingTargetUrl(
31 String url, int count, [Function responseFactory]) => 31 String url, int count,
32 [Function responseFactory]) =>
32 throw "Unimplemented"; 33 throw "Unimplemented";
33 Future<PingPongServicePingTargetServiceResponseParams> pingTargetService( 34 Future<PingPongServicePingTargetServiceResponseParams> pingTargetService(
34 Object service, int count, [Function responseFactory]) => 35 Object service, int count,
36 [Function responseFactory]) =>
35 throw "Unimplemented"; 37 throw "Unimplemented";
36 void getPingPongService(Object service) => throw "Unimplemented"; 38 void getPingPongService(Object service) => throw "Unimplemented";
37 39
38 void quit() { 40 void quit() {
39 if (_pingPongClient != null) { 41 if (_pingPongClient != null) {
40 _pingPongClient.close(); 42 _pingPongClient.close();
41 _pingPongClient = null; 43 _pingPongClient = null;
42 } 44 }
43 _stub.close(); 45 _stub.close();
44 } 46 }
45 } 47 }
46 48
47 class PingPongApplication extends Application { 49 class PingPongApplication extends Application {
48 PingPongApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); 50 PingPongApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle);
49 51
50 @override 52 @override
51 void acceptConnection(String requestorUrl, String resolvedUrl, 53 void acceptConnection(String requestorUrl, String resolvedUrl,
52 ApplicationConnection connection) { 54 ApplicationConnection connection) {
53 connection.provideService(PingPongServiceName, 55 connection.provideService(PingPongServiceName,
54 (endpoint) => new PingPongServiceImpl(this, endpoint)); 56 (endpoint) => new PingPongServiceImpl(this, endpoint));
55 // Close the application when the first connection goes down. 57 // Close the application when the first connection goes down.
56 connection.onError = closeApplication; 58 connection.onError = ((_) => closeApplication());
57 } 59 }
58 60
59 Future closeApplication() async { 61 Future closeApplication() async {
60 await close(); 62 await close();
61 MojoHandle.reportLeakedHandles(); 63 MojoHandle.reportLeakedHandles();
62 } 64 }
63 } 65 }
64 66
65 main(List args) { 67 main(List args) {
66 MojoHandle appHandle = new MojoHandle(args[0]); 68 MojoHandle appHandle = new MojoHandle(args[0]);
67 String url = args[1]; 69 String url = args[1];
68 new PingPongApplication.fromHandle(appHandle); 70 new PingPongApplication.fromHandle(appHandle);
69 } 71 }
OLDNEW
« no previous file with comments | « services/dart/test/pingpong/lib/main.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698