OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Echo server test program to test socket streams. | 5 // Echo server test program to test socket streams. |
6 // | 6 // |
7 // VMOptions= | 7 // VMOptions= |
8 // VMOptions=--short_socket_read | 8 // VMOptions=--short_socket_read |
9 // VMOptions=--short_socket_write | 9 // VMOptions=--short_socket_write |
10 // VMOptions=--short_socket_read --short_socket_write | 10 // VMOptions=--short_socket_read --short_socket_write |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 static const int MSGSIZE = EchoServerGame.MSGSIZE; | 108 static const int MSGSIZE = EchoServerGame.MSGSIZE; |
109 | 109 |
110 void onConnection(Socket connection) { | 110 void onConnection(Socket connection) { |
111 List<int> buffer = new List<int>(MSGSIZE); | 111 List<int> buffer = new List<int>(MSGSIZE); |
112 int offset = 0; | 112 int offset = 0; |
113 | 113 |
114 void dataReceived(List<int> data) { | 114 void dataReceived(List<int> data) { |
115 int bytesRead; | 115 int bytesRead; |
116 bytesRead = data.length; | 116 bytesRead = data.length; |
117 if (bytesRead > 0) { | 117 if (bytesRead > 0) { |
118 buffer.setRange(offset, data.length, data); | 118 buffer.setRange(offset, offset + data.length, data); |
119 offset += bytesRead; | 119 offset += bytesRead; |
120 for (int i = 0; i < offset; i++) { | 120 for (int i = 0; i < offset; i++) { |
121 Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]); | 121 Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]); |
122 } | 122 } |
123 if (offset == MSGSIZE) { | 123 if (offset == MSGSIZE) { |
124 connection.add(buffer); | 124 connection.add(buffer); |
125 connection.close(); | 125 connection.close(); |
126 } | 126 } |
127 } | 127 } |
128 } | 128 } |
129 | 129 |
130 void errorHandler(e) { | 130 void errorHandler(e) { |
131 Expect.fail("Socket error $e"); | 131 Expect.fail("Socket error $e"); |
132 } | 132 } |
133 | 133 |
134 connection.listen(dataReceived, onError: errorHandler); | 134 connection.listen(dataReceived, onError: errorHandler); |
135 } | 135 } |
136 } | 136 } |
137 | 137 |
138 main() { | 138 main() { |
139 EchoServerGame echoServerGame = new EchoServerGame.start(); | 139 EchoServerGame echoServerGame = new EchoServerGame.start(); |
140 } | 140 } |
OLD | NEW |