| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 part of dart.io; | 5 part of dart.io; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Builds a list of bytes, allowing bytes and lists of bytes to be added at the | 8 * Builds a list of bytes, allowing bytes and lists of bytes to be added at the |
| 9 * end. | 9 * end. |
| 10 * | 10 * |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 if (bytes is Uint8List) { | 106 if (bytes is Uint8List) { |
| 107 _buffer.setRange(_length, required, bytes); | 107 _buffer.setRange(_length, required, bytes); |
| 108 } else { | 108 } else { |
| 109 for (int i = 0; i < bytesLength; i++) { | 109 for (int i = 0; i < bytesLength; i++) { |
| 110 _buffer[_length + i] = bytes[i]; | 110 _buffer[_length + i] = bytes[i]; |
| 111 } | 111 } |
| 112 } | 112 } |
| 113 _length = required; | 113 _length = required; |
| 114 } | 114 } |
| 115 | 115 |
| 116 void addByte(int byte) => add([byte]); | 116 void addByte(int byte) { add([byte]); } |
| 117 | 117 |
| 118 List<int> takeBytes() { | 118 List<int> takeBytes() { |
| 119 if (_buffer == null) return new Uint8List(0); | 119 if (_buffer == null) return new Uint8List(0); |
| 120 var buffer = new Uint8List.view(_buffer.buffer, 0, _length); | 120 var buffer = new Uint8List.view(_buffer.buffer, 0, _length); |
| 121 clear(); | 121 clear(); |
| 122 return buffer; | 122 return buffer; |
| 123 } | 123 } |
| 124 | 124 |
| 125 List<int> toBytes() { | 125 List<int> toBytes() { |
| 126 if (_buffer == null) return new Uint8List(0); | 126 if (_buffer == null) return new Uint8List(0); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 156 final List _chunks = []; | 156 final List _chunks = []; |
| 157 | 157 |
| 158 void add(List<int> bytes) { | 158 void add(List<int> bytes) { |
| 159 if (bytes is! Uint8List) { | 159 if (bytes is! Uint8List) { |
| 160 bytes = new Uint8List.fromList(bytes); | 160 bytes = new Uint8List.fromList(bytes); |
| 161 } | 161 } |
| 162 _chunks.add(bytes); | 162 _chunks.add(bytes); |
| 163 _length += bytes.length; | 163 _length += bytes.length; |
| 164 } | 164 } |
| 165 | 165 |
| 166 void addByte(int byte) => add([byte]); | 166 void addByte(int byte) { add([byte]); } |
| 167 | 167 |
| 168 List<int> takeBytes() { | 168 List<int> takeBytes() { |
| 169 if (_chunks.length == 0) return new Uint8List(0); | 169 if (_chunks.length == 0) return new Uint8List(0); |
| 170 if (_chunks.length == 1) { | 170 if (_chunks.length == 1) { |
| 171 var buffer = _chunks.single; | 171 var buffer = _chunks.single; |
| 172 clear(); | 172 clear(); |
| 173 return buffer; | 173 return buffer; |
| 174 } | 174 } |
| 175 var buffer = new Uint8List(_length); | 175 var buffer = new Uint8List(_length); |
| 176 int offset = 0; | 176 int offset = 0; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 197 | 197 |
| 198 bool get isEmpty => _length == 0; | 198 bool get isEmpty => _length == 0; |
| 199 | 199 |
| 200 bool get isNotEmpty => _length != 0; | 200 bool get isNotEmpty => _length != 0; |
| 201 | 201 |
| 202 void clear() { | 202 void clear() { |
| 203 _length = 0; | 203 _length = 0; |
| 204 _chunks.clear(); | 204 _chunks.clear(); |
| 205 } | 205 } |
| 206 } | 206 } |
| OLD | NEW |