| OLD | NEW |
| 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 // VMOptions= | 5 // VMOptions= |
| 6 // VMOptions=--short_socket_read | 6 // VMOptions=--short_socket_read |
| 7 // VMOptions=--short_socket_write | 7 // VMOptions=--short_socket_write |
| 8 // VMOptions=--short_socket_read --short_socket_write | 8 // VMOptions=--short_socket_read --short_socket_write |
| 9 | 9 |
| 10 #import("dart:io"); | 10 #import("dart:io"); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 // 3. Creates a temp file. | 61 // 3. Creates a temp file. |
| 62 // 4. Pipes the socket output stream to the temp file. | 62 // 4. Pipes the socket output stream to the temp file. |
| 63 // 5. Expects the original file and the temp file to be equal. | 63 // 5. Expects the original file and the temp file to be equal. |
| 64 class PipeServerGame { | 64 class PipeServerGame { |
| 65 int count = 0; | 65 int count = 0; |
| 66 | 66 |
| 67 PipeServerGame.start() | 67 PipeServerGame.start() |
| 68 : _receivePort = new ReceivePort(), | 68 : _receivePort = new ReceivePort(), |
| 69 _sendPort = null, | 69 _sendPort = null, |
| 70 _messages = 0 { | 70 _messages = 0 { |
| 71 new PipeServer().spawn().then((SendPort port) { | 71 _sendPort = spawnFunction(startPipeServer); |
| 72 _sendPort = port; | 72 start(); |
| 73 start(); | |
| 74 }); | |
| 75 } | 73 } |
| 76 | 74 |
| 77 void runTest() { | 75 void runTest() { |
| 78 | 76 |
| 79 void connectHandler() { | 77 void connectHandler() { |
| 80 String srcFileName = | 78 String srcFileName = |
| 81 getDataFilename("tests/standalone/io/readline_test1.dat"); | 79 getDataFilename("tests/standalone/io/readline_test1.dat"); |
| 82 | 80 |
| 83 SocketOutputStream socketOutput = _socket.outputStream; | 81 SocketOutputStream socketOutput = _socket.outputStream; |
| 84 InputStream fileInput = new File(srcFileName).openInputStream(); | 82 InputStream fileInput = new File(srcFileName).openInputStream(); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 } | 138 } |
| 141 | 139 |
| 142 int _port; | 140 int _port; |
| 143 ReceivePort _receivePort; | 141 ReceivePort _receivePort; |
| 144 SendPort _sendPort; | 142 SendPort _sendPort; |
| 145 Socket _socket; | 143 Socket _socket; |
| 146 int _messages; | 144 int _messages; |
| 147 } | 145 } |
| 148 | 146 |
| 149 | 147 |
| 148 void startPipeServer() { |
| 149 var server = new PipeServer(); |
| 150 port.receive(server.dispatch); |
| 151 } |
| 152 |
| 153 |
| 150 // The testing server will simply pipe each connecting sockets input | 154 // The testing server will simply pipe each connecting sockets input |
| 151 // stream to its output stream. | 155 // stream to its output stream. |
| 152 class PipeServer extends TestingServer { | 156 class PipeServer extends TestingServer { |
| 153 void onConnection(Socket connection) { | 157 void onConnection(Socket connection) { |
| 154 connection.onError = (Exception e) { Expect.fail("Socket error $e"); }; | 158 connection.onError = (Exception e) { Expect.fail("Socket error $e"); }; |
| 155 connection.inputStream.pipe(connection.outputStream); | 159 connection.inputStream.pipe(connection.outputStream); |
| 156 } | 160 } |
| 157 } | 161 } |
| 158 | 162 |
| 159 | 163 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 srcStream.pipe(dstStream, close: false); | 285 srcStream.pipe(dstStream, close: false); |
| 282 } | 286 } |
| 283 | 287 |
| 284 | 288 |
| 285 main() { | 289 main() { |
| 286 testFileToFilePipe1(); | 290 testFileToFilePipe1(); |
| 287 testFileToFilePipe2(); | 291 testFileToFilePipe2(); |
| 288 testFileToFilePipe3(); | 292 testFileToFilePipe3(); |
| 289 PipeServerGame echoServerGame = new PipeServerGame.start(); | 293 PipeServerGame echoServerGame = new PipeServerGame.start(); |
| 290 } | 294 } |
| OLD | NEW |