| 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 // Test socket close events. | 10 // Test socket close events. |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 Expect.fail("Unknown test mode"); | 90 Expect.fail("Unknown test mode"); |
| 91 } | 91 } |
| 92 } | 92 } |
| 93 | 93 |
| 94 void errorHandler() { | 94 void errorHandler() { |
| 95 _errorEvents++; | 95 _errorEvents++; |
| 96 _socket.close(); | 96 _socket.close(); |
| 97 } | 97 } |
| 98 | 98 |
| 99 void connectHandler() { | 99 void connectHandler() { |
| 100 _socket.dataHandler = dataHandler; | 100 _socket.onData = dataHandler; |
| 101 _socket.closeHandler = closeHandler; | 101 _socket.onClosed = closeHandler; |
| 102 _socket.errorHandler = errorHandler; | 102 _socket.onError = errorHandler; |
| 103 | 103 |
| 104 void writeHello() { | 104 void writeHello() { |
| 105 int bytesWritten = 0; | 105 int bytesWritten = 0; |
| 106 while (bytesWritten != 5) { | 106 while (bytesWritten != 5) { |
| 107 bytesWritten += _socket.writeList("Hello".charCodes(), | 107 bytesWritten += _socket.writeList("Hello".charCodes(), |
| 108 bytesWritten, | 108 bytesWritten, |
| 109 5 - bytesWritten); | 109 5 - bytesWritten); |
| 110 } | 110 } |
| 111 } | 111 } |
| 112 | 112 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 136 writeHello(); | 136 writeHello(); |
| 137 _socket.close(true); | 137 _socket.close(true); |
| 138 break; | 138 break; |
| 139 default: | 139 default: |
| 140 Expect.fail("Unknown test mode"); | 140 Expect.fail("Unknown test mode"); |
| 141 } | 141 } |
| 142 } | 142 } |
| 143 | 143 |
| 144 _socket = new Socket(SocketCloseServer.HOST, _port); | 144 _socket = new Socket(SocketCloseServer.HOST, _port); |
| 145 Expect.equals(true, _socket !== null); | 145 Expect.equals(true, _socket !== null); |
| 146 _socket.connectHandler = connectHandler; | 146 _socket.onConnect = connectHandler; |
| 147 } | 147 } |
| 148 | 148 |
| 149 void start() { | 149 void start() { |
| 150 _receivePort.receive((var message, SendPort replyTo) { | 150 _receivePort.receive((var message, SendPort replyTo) { |
| 151 _port = message; | 151 _port = message; |
| 152 proceed(); | 152 proceed(); |
| 153 }); | 153 }); |
| 154 _sendPort.send(_mode, _receivePort.toSendPort()); | 154 _sendPort.send(_mode, _receivePort.toSendPort()); |
| 155 } | 155 } |
| 156 | 156 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 _closeEvents++; | 278 _closeEvents++; |
| 279 connection.close(); | 279 connection.close(); |
| 280 } | 280 } |
| 281 | 281 |
| 282 void errorHandler() { | 282 void errorHandler() { |
| 283 Expect.fail("Socket error"); | 283 Expect.fail("Socket error"); |
| 284 } | 284 } |
| 285 | 285 |
| 286 _iterations++; | 286 _iterations++; |
| 287 | 287 |
| 288 connection.dataHandler = dataHandler; | 288 connection.onData = dataHandler; |
| 289 connection.closeHandler = closeHandler; | 289 connection.onClosed = closeHandler; |
| 290 connection.errorHandler = errorHandler; | 290 connection.onError = errorHandler; |
| 291 } | 291 } |
| 292 | 292 |
| 293 void errorHandlerServer() { | 293 void errorHandlerServer() { |
| 294 Expect.fail("Server socket error"); | 294 Expect.fail("Server socket error"); |
| 295 } | 295 } |
| 296 | 296 |
| 297 waitForResult(Timer timer) { | 297 waitForResult(Timer timer) { |
| 298 // Make sure all iterations have been run. In multiple of these | 298 // Make sure all iterations have been run. In multiple of these |
| 299 // scenarios it is possible to get the SERVERSHUTDOWN message | 299 // scenarios it is possible to get the SERVERSHUTDOWN message |
| 300 // before we have received the last close event on the | 300 // before we have received the last close event on the |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 _donePort = replyTo; | 338 _donePort = replyTo; |
| 339 if (message != SERVERSHUTDOWN) { | 339 if (message != SERVERSHUTDOWN) { |
| 340 _readBytes = 0; | 340 _readBytes = 0; |
| 341 _errorEvents = 0; | 341 _errorEvents = 0; |
| 342 _dataEvents = 0; | 342 _dataEvents = 0; |
| 343 _closeEvents = 0; | 343 _closeEvents = 0; |
| 344 _iterations = 0; | 344 _iterations = 0; |
| 345 _mode = message; | 345 _mode = message; |
| 346 _server = new ServerSocket(HOST, 0, 10); | 346 _server = new ServerSocket(HOST, 0, 10); |
| 347 Expect.equals(true, _server !== null); | 347 Expect.equals(true, _server !== null); |
| 348 _server.connectionHandler = (connection) { | 348 _server.onConnection = (connection) { |
| 349 var data = new ConnectionData(connection); | 349 var data = new ConnectionData(connection); |
| 350 connectionHandler(data); | 350 connectionHandler(data); |
| 351 }; | 351 }; |
| 352 _server.errorHandler = errorHandlerServer; | 352 _server.onError = errorHandlerServer; |
| 353 replyTo.send(_server.port, null); | 353 replyTo.send(_server.port, null); |
| 354 } else { | 354 } else { |
| 355 new Timer(waitForResult, 0); | 355 new Timer(waitForResult, 0); |
| 356 } | 356 } |
| 357 }); | 357 }); |
| 358 } | 358 } |
| 359 | 359 |
| 360 ServerSocket _server; | 360 ServerSocket _server; |
| 361 SendPort _donePort; | 361 SendPort _donePort; |
| 362 int _readBytes; | 362 int _readBytes; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 380 var tests = 7; | 380 var tests = 7; |
| 381 var port = new ReceivePort(); | 381 var port = new ReceivePort(); |
| 382 var completed = 0; | 382 var completed = 0; |
| 383 port.receive((message, ignore) { | 383 port.receive((message, ignore) { |
| 384 if (++completed == tests) port.close(); | 384 if (++completed == tests) port.close(); |
| 385 }); | 385 }); |
| 386 for (var i = 0; i < tests; i++) { | 386 for (var i = 0; i < tests; i++) { |
| 387 new SocketClose.start(i, port.toSendPort()); | 387 new SocketClose.start(i, port.toSendPort()); |
| 388 } | 388 } |
| 389 } | 389 } |
| OLD | NEW |