| 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. | 
|   11  |   11  | 
|   12 #import("dart:io"); |   12 #import("dart:io"); | 
|   13 #import("dart:isolate"); |   13 #import("dart:isolate"); | 
|   14  |   14  | 
|   15 final SERVERSHUTDOWN = -1; |   15 const SERVERSHUTDOWN = -1; | 
|   16 final ITERATIONS = 10; |   16 const ITERATIONS = 10; | 
|   17  |   17  | 
|   18  |   18  | 
|   19 class SocketClose { |   19 class SocketClose { | 
|   20  |   20  | 
|   21   SocketClose.start(this._mode, this._donePort) |   21   SocketClose.start(this._mode, this._donePort) | 
|   22       : _receivePort = new ReceivePort(), |   22       : _receivePort = new ReceivePort(), | 
|   23         _sendPort = null, |   23         _sendPort = null, | 
|   24         _readBytes = 0, |   24         _readBytes = 0, | 
|   25         _dataEvents = 0, |   25         _dataEvents = 0, | 
|   26         _closeEvents = 0, |   26         _closeEvents = 0, | 
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  204 } |  204 } | 
|  205  |  205  | 
|  206  |  206  | 
|  207 void startSocketCloseServer() { |  207 void startSocketCloseServer() { | 
|  208   var server = new SocketCloseServer(); |  208   var server = new SocketCloseServer(); | 
|  209   port.receive(server.dispatch); |  209   port.receive(server.dispatch); | 
|  210 } |  210 } | 
|  211  |  211  | 
|  212 class SocketCloseServer { |  212 class SocketCloseServer { | 
|  213  |  213  | 
|  214   static final HOST = "127.0.0.1"; |  214   static const HOST = "127.0.0.1"; | 
|  215  |  215  | 
|  216   SocketCloseServer() : super() {} |  216   SocketCloseServer() : super() {} | 
|  217  |  217  | 
|  218   void connectionHandler(ConnectionData data) { |  218   void connectionHandler(ConnectionData data) { | 
|  219     var connection = data.connection; |  219     var connection = data.connection; | 
|  220  |  220  | 
|  221     void readBytes(whenFiveBytes) { |  221     void readBytes(whenFiveBytes) { | 
|  222       List<int> b = new List<int>(5); |  222       List<int> b = new List<int>(5); | 
|  223       data.readBytes += connection.readList(b, 0, 5); |  223       data.readBytes += connection.readList(b, 0, 5); | 
|  224       if (data.readBytes == 5) { |  224       if (data.readBytes == 5) { | 
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after  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 |