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 |