Lines Matching full:buffers

26 /// BufferQueue implements a circular queue of fixed sized buffers (much like a
28 /// get from or return buffers to the queue. This is one key component of the
34 /// store for all buffers and extents managed by a BufferQueue instance. The
78 // Buffer`. Note that we only advance to the "used" buffers, when
82 BufferRep *Buffers = nullptr;
90 } while (Offset != Max && !Buffers[Offset].Used);
100 T &operator*() const { return Buffers[Offset].Buff; }
102 T *operator->() const { return &(Buffers[Offset].Buff); }
105 : Buffers(Root), in Iterator()
110 while (Offset != Max && !Buffers[Offset].Used) { in Iterator()
125 return L.Buffers == R.Buffers && L.Offset == R.Offset;
137 // Amount of pre-allocated buffers.
150 BufferRep *Buffers; variable
159 // Count of buffers that have been handed out through 'getBuffer'.
162 // We use a generation number to identify buffers and which generation they're
166 /// Releases references to the buffers backed by the current buffer queue.
184 return "no available buffers in the queue"; in getErrorString()
197 /// Initialise a queue of size |N| with buffers of size |B|. We report success
202 /// error in case there are no available buffers to return when we will run
203 /// over the upper bound for the total buffers.
224 /// size of buffers with |BS| along with the buffer count with |BC|.
240 /// Returns the configured size of the buffers in the buffer queue.
265 iterator begin() const { return iterator(Buffers, 0, BufferCount); } in begin()
267 return const_iterator(Buffers, 0, BufferCount); in cbegin()
269 iterator end() const { return iterator(Buffers, BufferCount, BufferCount); } in end()
271 return const_iterator(Buffers, BufferCount, BufferCount); in cend()
274 // Cleans up allocated buffers.