| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 /** | |
| 6 * [ListInputStream] makes it possible to use the [InputStream] | |
| 7 * interface to stream over data that is received in chunks as lists | |
| 8 * of integers. | |
| 9 * | |
| 10 * When a new list of integers is received it can be written to the | |
| 11 * [ListInputStream] using the [write] method. The [markEndOfStream] | |
| 12 * method must be called when the last data has been written to the | |
| 13 * [ListInputStream]. | |
| 14 */ | |
| 15 abstract class ListInputStream implements InputStream { | |
| 16 /** | |
| 17 * Create an empty [ListInputStream] to which data can be written | |
| 18 * using the [write] method. | |
| 19 */ | |
| 20 factory ListInputStream() => new _ListInputStream(); | |
| 21 | |
| 22 /** | |
| 23 * Write more data to be streamed over to the [ListInputStream]. | |
| 24 */ | |
| 25 void write(List<int> data); | |
| 26 | |
| 27 /** | |
| 28 * Notify the [ListInputStream] that no more data will be written to | |
| 29 * it. | |
| 30 */ | |
| 31 void markEndOfStream(); | |
| 32 } | |
| 33 | |
| 34 | |
| 35 /** | |
| 36 * [ListOutputStream] makes it possible to use the [OutputStream] | |
| 37 * interface to write data to a [List] of integers. | |
| 38 */ | |
| 39 abstract class ListOutputStream implements OutputStream { | |
| 40 /** | |
| 41 * Create a [ListOutputStream]. | |
| 42 */ | |
| 43 factory ListOutputStream() => new _ListOutputStream(); | |
| 44 | |
| 45 /** | |
| 46 * Reads all available data from the stream. If no data is available `null` | |
| 47 * will be returned. | |
| 48 */ | |
| 49 List<int> read(); | |
| 50 | |
| 51 /** | |
| 52 * Sets the handler that gets called when data is available. | |
| 53 */ | |
| 54 void set onData(void callback()); | |
| 55 } | |
| OLD | NEW |