Deallocates the internal buffer.
Appends data to the buffer.
Note that $(D_PSYMBOL length) doesn't return the real length of the data, but only the array length that will be returned with $(D_PSYMBOL buffer) next time. Be sure to call $(D_PSYMBOL buffer) and set $(D_KEYWORD +=) until $(D_PSYMBOL length) returns 0.
After calling it, set $(D_KEYWORD +=) to the length could be written.
Sets how many bytes were written. It will shrink the buffer appropriately. Always set this property after calling $(D_PSYMBOL buffer).
Returns a chunk with data.
Size by which the buffer will grow.
Internal buffer.
The position of the free area in the buffer.
Buffer ring area size. After this position begins buffer overflow area.
Buffer start position.
Circular, self-expanding buffer with overflow support. Can be used with functions returning returning the number of the transferred bytes.
The buffer is optimized for situations where you read all the data from it at once (without writing to it occasionally). It can become ineffective if you permanently keep some data in the buffer and alternate writing and reading, because it may allocate and move elements.