| 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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 69       _length -= count; | 69       _length -= count; | 
| 70       return result; | 70       return result; | 
| 71     } else { | 71     } else { | 
| 72       int firstRemaining = _buffers.first().length - _index; | 72       int firstRemaining = _buffers.first().length - _index; | 
| 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         return result; | 77         return result; | 
| 78       } else { | 78       } else { | 
| 79         result = new List<int>(count); | 79         result = new ByteArray(count); | 
| 80         int remaining = count; | 80         int remaining = count; | 
| 81         while (remaining > 0) { | 81         while (remaining > 0) { | 
| 82           int bytesInFirst = _buffers.first().length - _index; | 82           int bytesInFirst = _buffers.first().length - _index; | 
| 83           if (bytesInFirst <= remaining) { | 83           if (bytesInFirst <= remaining) { | 
| 84             result.setRange(count - remaining, | 84             result.setRange(count - remaining, | 
| 85                             bytesInFirst, | 85                             bytesInFirst, | 
| 86                             _buffers.first(), | 86                             _buffers.first(), | 
| 87                             _index); | 87                             _index); | 
| 88             _buffers.removeFirst(); | 88             _buffers.removeFirst(); | 
| 89             _index = 0; | 89             _index = 0; | 
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 139   void clear() { | 139   void clear() { | 
| 140     _index = 0; | 140     _index = 0; | 
| 141     _length = 0; | 141     _length = 0; | 
| 142     _buffers = new Queue(); | 142     _buffers = new Queue(); | 
| 143   } | 143   } | 
| 144 | 144 | 
| 145   int _length;  // Total number of bytes remaining in the buffers. | 145   int _length;  // Total number of bytes remaining in the buffers. | 
| 146   Queue<List<int>> _buffers;  // List of data buffers. | 146   Queue<List<int>> _buffers;  // List of data buffers. | 
| 147   int _index;  // Index of the next byte in the first buffer. | 147   int _index;  // Index of the next byte in the first buffer. | 
| 148 } | 148 } | 
| OLD | NEW | 
|---|