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

Side by Side Diff: tests/standalone/io/testing_server.dart

Issue 10837070: Remove old isolate API and update all code in the repository to use (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments. Created 8 years, 4 months 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 | Annotate | Revision Log
« no previous file with comments | « tests/standalone/io/stream_pipe_test.dart ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 class TestingServer extends Isolate { 5 class TestingServer {
6 6
7 static final HOST = "127.0.0.1"; 7 static final HOST = "127.0.0.1";
8 static final INIT = 0; 8 static final INIT = 0;
9 static final SHUTDOWN = -1; 9 static final SHUTDOWN = -1;
10 10
11 abstract void onConnection(Socket connection); 11 abstract void onConnection(Socket connection);
12 12
13 void main() { 13 void errorHandlerServer(Exception e) {
14 void errorHandlerServer(Exception e) { 14 Expect.fail("Server socket error $e");
15 Expect.fail("Server socket error $e"); 15 }
16
17 void dispatch(message, SendPort replyTo) {
18 if (message == INIT) {
19 _server = new ServerSocket(HOST, 0, 10);
20 Expect.equals(true, _server !== null);
21 _server.onConnection = onConnection;
22 _server.onError = errorHandlerServer;
23 replyTo.send(_server.port, null);
24 } else if (message == SHUTDOWN) {
25 _server.close();
26 port.close();
16 } 27 }
17
18 this.port.receive((message, SendPort replyTo) {
19 if (message == INIT) {
20 _server = new ServerSocket(HOST, 0, 10);
21 Expect.equals(true, _server !== null);
22 _server.onConnection = onConnection;
23 _server.onError = errorHandlerServer;
24 replyTo.send(_server.port, null);
25 } else if (message == SHUTDOWN) {
26 _server.close();
27 this.port.close();
28 }
29 });
30 } 28 }
31 29
32 ServerSocket _server; 30 ServerSocket _server;
33 } 31 }
34 32
35 class TestingServerTest { 33 class TestingServerTest {
36 34
37 TestingServerTest.start(TestingServer server) 35 TestingServerTest.start(SendPort port)
38 : _receivePort = new ReceivePort(), 36 : _receivePort = new ReceivePort(),
39 _sendPort = null { 37 _sendPort = port {
40 server.spawn().then((SendPort port) { 38 start();
41 _sendPort = port;
42 start();
43 });
44 } 39 }
45 40
46 abstract void run(); 41 abstract void run();
47 42
48 void start() { 43 void start() {
49 _receivePort.receive((var message, SendPort replyTo) { 44 _receivePort.receive((var message, SendPort replyTo) {
50 _port = message; 45 _port = message;
51 run(); 46 run();
52 }); 47 });
53 _sendPort.send(TestingServer.INIT, _receivePort.toSendPort()); 48 _sendPort.send(TestingServer.INIT, _receivePort.toSendPort());
54 } 49 }
55 50
56 void shutdown() { 51 void shutdown() {
57 _sendPort.send(TestingServer.SHUTDOWN, _receivePort.toSendPort()); 52 _sendPort.send(TestingServer.SHUTDOWN, _receivePort.toSendPort());
58 _receivePort.close(); 53 _receivePort.close();
59 } 54 }
60 55
61 int _port; 56 int _port;
62 ReceivePort _receivePort; 57 ReceivePort _receivePort;
63 SendPort _sendPort; 58 SendPort _sendPort;
64 } 59 }
OLDNEW
« no previous file with comments | « tests/standalone/io/stream_pipe_test.dart ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698