| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 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 | 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 /** | 5 /** | 
| 6  * Utility class that holds a number of byte buffers and can deliver | 6  * Utility class that holds a number of byte buffers and can deliver | 
| 7  * the bytes either one by one or in chunks. | 7  * the bytes either one by one or in chunks. | 
| 8  */ | 8  */ | 
| 9 class _BufferList { | 9 class _BufferList { | 
| 10   _BufferList() { | 10   _BufferList() { | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 73       if (firstRemaining >= count) { | 73       if (firstRemaining >= count) { | 
| 74         result = _buffers.first().getRange(_index, count); | 74         result = _buffers.first().getRange(_index, count); | 
| 75         _index += count; | 75         _index += count; | 
| 76         _length -= count; | 76         _length -= count; | 
| 77         if (_index == _buffers.first().length) { | 77         if (_index == _buffers.first().length) { | 
| 78           _buffers.removeFirst(); | 78           _buffers.removeFirst(); | 
| 79           _index = 0; | 79           _index = 0; | 
| 80         } | 80         } | 
| 81         return result; | 81         return result; | 
| 82       } else { | 82       } else { | 
| 83         result = new ByteArray(count); | 83         result = new Uint8List(count); | 
| 84         int remaining = count; | 84         int remaining = count; | 
| 85         while (remaining > 0) { | 85         while (remaining > 0) { | 
| 86           int bytesInFirst = _buffers.first().length - _index; | 86           int bytesInFirst = _buffers.first().length - _index; | 
| 87           if (bytesInFirst <= remaining) { | 87           if (bytesInFirst <= remaining) { | 
| 88             result.setRange(count - remaining, | 88             result.setRange(count - remaining, | 
| 89                             bytesInFirst, | 89                             bytesInFirst, | 
| 90                             _buffers.first(), | 90                             _buffers.first(), | 
| 91                             _index); | 91                             _index); | 
| 92             _buffers.removeFirst(); | 92             _buffers.removeFirst(); | 
| 93             _index = 0; | 93             _index = 0; | 
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 143   void clear() { | 143   void clear() { | 
| 144     _index = 0; | 144     _index = 0; | 
| 145     _length = 0; | 145     _length = 0; | 
| 146     _buffers = new Queue(); | 146     _buffers = new Queue(); | 
| 147   } | 147   } | 
| 148 | 148 | 
| 149   int _length;  // Total number of bytes remaining in the buffers. | 149   int _length;  // Total number of bytes remaining in the buffers. | 
| 150   Queue<List<int>> _buffers;  // List of data buffers. | 150   Queue<List<int>> _buffers;  // List of data buffers. | 
| 151   int _index;  // Index of the next byte in the first buffer. | 151   int _index;  // Index of the next byte in the first buffer. | 
| 152 } | 152 } | 
| OLD | NEW | 
|---|