| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 /* | 5 /* |
| 6 * SocketNativeWrapper is defined in native and holds a field to store the | 6 * SocketNativeWrapper is defined in native and holds a field to store the |
| 7 * native socket object. | 7 * native socket object. |
| 8 */ | 8 */ |
| 9 class _SocketBase { | 9 class _SocketBase { |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 | 34 |
| 35 /* | 35 /* |
| 36 * Multiplexes socket events to the right socket handler. | 36 * Multiplexes socket events to the right socket handler. |
| 37 */ | 37 */ |
| 38 void _multiplex(List<int> message) { | 38 void _multiplex(List<int> message) { |
| 39 assert(message.length == 1); | 39 assert(message.length == 1); |
| 40 _canActivateHandlers = false; | 40 _canActivateHandlers = false; |
| 41 int event_mask = message[0]; | 41 int event_mask = message[0]; |
| 42 for (int i = _FIRST_EVENT; i <= _LAST_EVENT; i++) { | 42 for (int i = _FIRST_EVENT; i <= _LAST_EVENT; i++) { |
| 43 if (((event_mask & (1 << i)) != 0) && _handlerMap[i] !== null) { | 43 if (((event_mask & (1 << i)) != 0) && _handlerMap[i] !== null) { |
| 44 print("Event " + i); |
| 44 var handleEvent = _handlerMap[i]; | 45 var handleEvent = _handlerMap[i]; |
| 45 /* | 46 /* |
| 46 * Unregister the out handler before executing it. | 47 * Unregister the out handler before executing it. |
| 47 */ | 48 */ |
| 48 if (i == _OUT_EVENT) { | 49 if (i == _OUT_EVENT) { |
| 49 _setHandler(i, null); | 50 _setHandler(i, null); |
| 50 } | 51 } |
| 51 handleEvent(); | 52 handleEvent(); |
| 52 } | 53 } |
| 53 } | 54 } |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 | 271 |
| 271 void setDataHandler(void callback()) { | 272 void setDataHandler(void callback()) { |
| 272 _setHandler(_IN_EVENT, callback); | 273 _setHandler(_IN_EVENT, callback); |
| 273 } | 274 } |
| 274 | 275 |
| 275 void setCloseHandler(void callback()) { | 276 void setCloseHandler(void callback()) { |
| 276 _setHandler(_CLOSE_EVENT, callback); | 277 _setHandler(_CLOSE_EVENT, callback); |
| 277 } | 278 } |
| 278 | 279 |
| 279 InputStream get inputStream() { | 280 InputStream get inputStream() { |
| 281 if (_inputStream2 != null) { |
| 282 throw new SocketIOException("Illegal input stream use"); |
| 283 } |
| 280 if (_inputStream === null) { | 284 if (_inputStream === null) { |
| 281 _inputStream = new SocketInputStream(this); | 285 _inputStream = new SocketInputStream(this); |
| 282 } | 286 } |
| 283 return _inputStream; | 287 return _inputStream; |
| 284 } | 288 } |
| 285 | 289 |
| 290 InputStream2 get inputStream2() { |
| 291 if (_inputStream != null) { |
| 292 throw new SocketIOException("Illegal input stream use"); |
| 293 } |
| 294 if (_inputStream2 === null) { |
| 295 _inputStream2 = new SocketInputStream2(this); |
| 296 } |
| 297 return _inputStream2; |
| 298 } |
| 299 |
| 286 OutputStream get outputStream() { | 300 OutputStream get outputStream() { |
| 287 if (_outputStream === null) { | 301 if (_outputStream === null) { |
| 288 _outputStream = new SocketOutputStream(this); | 302 _outputStream = new SocketOutputStream(this); |
| 289 } | 303 } |
| 290 return _outputStream; | 304 return _outputStream; |
| 291 } | 305 } |
| 292 | 306 |
| 293 SocketInputStream _inputStream; | 307 SocketInputStream _inputStream; |
| 308 SocketInputStream2 _inputStream2; |
| 294 SocketOutputStream _outputStream; | 309 SocketOutputStream _outputStream; |
| 295 } | 310 } |
| 296 | 311 |
| OLD | NEW |