Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: runtime/bin/file_impl.dart

Issue 8933029: Add pipe to input stream (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update comment Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 _FileInputStream implements FileInputStream { 5 class _FileInputStream implements FileInputStream {
6 _FileInputStream(File file) { 6 _FileInputStream(File file) {
7 _file = file.openSync(); 7 _file = file.openSync();
8 _length = _file.lengthSync(); 8 _length = _file.lengthSync();
9 _checkScheduleCallbacks(); 9 _checkScheduleCallbacks();
10 } 10 }
(...skipping 30 matching lines...) Expand all
41 if (len < 0) throw new StreamException("Illegal length $len"); 41 if (len < 0) throw new StreamException("Illegal length $len");
42 int result = _file.readListSync(buffer, offset, len); 42 int result = _file.readListSync(buffer, offset, len);
43 _checkScheduleCallbacks(); 43 _checkScheduleCallbacks();
44 return result; 44 return result;
45 } 45 }
46 46
47 int available() { 47 int available() {
48 return _length - _file.positionSync(); 48 return _length - _file.positionSync();
49 } 49 }
50 50
51 void pipe(OutputStream output, [bool close = true]) {
52 _pipe(this, output, close: close);
53 }
54
51 bool closed() => _eof; 55 bool closed() => _eof;
52 56
53 void close() { 57 void close() {
54 _file.closeSync(); 58 _file.closeSync();
55 _closed = true; 59 _closed = true;
56 } 60 }
57 61
58 void set dataHandler(void callback()) { 62 void set dataHandler(void callback()) {
59 _clientDataHandler = callback; 63 _clientDataHandler = callback;
60 _checkScheduleCallbacks(); 64 _checkScheduleCallbacks();
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 } 107 }
104 } 108 }
105 } 109 }
106 110
107 RandomAccessFile _file; 111 RandomAccessFile _file;
108 int _length; 112 int _length;
109 bool _eof = false; 113 bool _eof = false;
110 bool _closed = false; 114 bool _closed = false;
111 Timer _scheduledDataCallback; 115 Timer _scheduledDataCallback;
112 Timer _scheduledCloseCallback; 116 Timer _scheduledCloseCallback;
113 var _clientDataHandler; 117 Function _clientDataHandler;
114 var _clientCloseHandler; 118 Function _clientCloseHandler;
115 } 119 }
116 120
117 121
118 class _FileOutputStream implements FileOutputStream { 122 class _FileOutputStream implements FileOutputStream {
119 _FileOutputStream(File file) { 123 _FileOutputStream(File file) {
120 _file = file.openSync(true); 124 _file = file.openSync(true);
121 } 125 }
122 126
123 bool write(List<int> buffer, [bool copyBuffer = false]) { 127 bool write(List<int> buffer, [bool copyBuffer = false]) {
124 return _write(buffer, 0, buffer.length); 128 return _write(buffer, 0, buffer.length);
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 var _readByteHandler; 1123 var _readByteHandler;
1120 var _readListHandler; 1124 var _readListHandler;
1121 var _noPendingWriteHandler; 1125 var _noPendingWriteHandler;
1122 var _positionHandler; 1126 var _positionHandler;
1123 var _setPositionHandler; 1127 var _setPositionHandler;
1124 var _truncateHandler; 1128 var _truncateHandler;
1125 var _lengthHandler; 1129 var _lengthHandler;
1126 var _flushHandler; 1130 var _flushHandler;
1127 var _errorHandler; 1131 var _errorHandler;
1128 } 1132 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698