| 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 class SocketInputStream implements InputStream { | 5 class SocketInputStream implements InputStream { |
| 6 SocketInputStream(Socket socket) : _socket = socket; | 6 SocketInputStream(Socket socket) : _socket = socket; |
| 7 | 7 |
| 8 List<int> read([int len]) { | 8 List<int> read([int len]) { |
| 9 int bytesToRead = available(); | 9 int bytesToRead = available(); |
| 10 if (bytesToRead == 0) return null; | 10 if (bytesToRead == 0) return null; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 int readInto(List<int> buffer, int offset, int len) { | 29 int readInto(List<int> buffer, int offset, int len) { |
| 30 if (offset === null) offset = 0; | 30 if (offset === null) offset = 0; |
| 31 if (len === null) len = buffer.length; | 31 if (len === null) len = buffer.length; |
| 32 if (offset < 0) throw new StreamException("Illegal offset $offset"); | 32 if (offset < 0) throw new StreamException("Illegal offset $offset"); |
| 33 if (len < 0) throw new StreamException("Illegal length $len"); | 33 if (len < 0) throw new StreamException("Illegal length $len"); |
| 34 return _socket.readList(buffer, offset, len); | 34 return _socket.readList(buffer, offset, len); |
| 35 } | 35 } |
| 36 | 36 |
| 37 int available() => _socket.available(); | 37 int available() => _socket.available(); |
| 38 | 38 |
| 39 void pipe(OutputStream output, [bool close = true]) { |
| 40 _pipe(this, output, close: close); |
| 41 } |
| 42 |
| 39 void set dataHandler(void callback()) { | 43 void set dataHandler(void callback()) { |
| 40 _socket.dataHandler = callback; | 44 _socket.dataHandler = callback; |
| 41 } | 45 } |
| 42 | 46 |
| 43 void set closeHandler(void callback()) { | 47 void set closeHandler(void callback()) { |
| 48 _clientCloseHandler = callback; |
| 44 _socket.closeHandler = callback; | 49 _socket.closeHandler = callback; |
| 45 } | 50 } |
| 46 | 51 |
| 47 void set errorHandler(void callback()) { | 52 void set errorHandler(void callback()) { |
| 48 _socket.errorHandler = callback; | 53 _socket.errorHandler = callback; |
| 49 } | 54 } |
| 50 | 55 |
| 51 Socket _socket; | 56 Socket _socket; |
| 57 Function _clientCloseHandler; |
| 52 } | 58 } |
| 53 | 59 |
| 54 | 60 |
| 55 class SocketOutputStream implements OutputStream { | 61 class SocketOutputStream implements OutputStream { |
| 56 SocketOutputStream(Socket socket) | 62 SocketOutputStream(Socket socket) |
| 57 : _socket = socket, _pendingWrites = new _BufferList(); | 63 : _socket = socket, _pendingWrites = new _BufferList(); |
| 58 | 64 |
| 59 bool write(List<int> buffer, [bool copyBuffer = true]) { | 65 bool write(List<int> buffer, [bool copyBuffer = true]) { |
| 60 return _write(buffer, 0, buffer.length, copyBuffer); | 66 return _write(buffer, 0, buffer.length, copyBuffer); |
| 61 } | 67 } |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 if (_streamErrorHandler != null) _streamErrorHandler(); | 163 if (_streamErrorHandler != null) _streamErrorHandler(); |
| 158 } | 164 } |
| 159 | 165 |
| 160 Socket _socket; | 166 Socket _socket; |
| 161 _BufferList _pendingWrites; | 167 _BufferList _pendingWrites; |
| 162 var _noPendingWriteHandler; | 168 var _noPendingWriteHandler; |
| 163 var _streamErrorHandler; | 169 var _streamErrorHandler; |
| 164 bool _closing = false; | 170 bool _closing = false; |
| 165 bool _closed = false; | 171 bool _closed = false; |
| 166 } | 172 } |
| OLD | NEW |