The following parameters relate to dynamic buffers:
== initial default size ==
The initial default size is the default number of bytes that will be given to a buffer that is allocated for the first time.
== current size ==
The current size is used to track the size of the buffer, and accurately reflects the number of bytes that the buffer can currently hold.
== chunk size ==
If the buffer becomes full, its size will be increased by an additional chunk. The chunk size specifies the number of bytes to be added when resizing a buffer.
== allocation size ==
If a buffer has become full, and the buffer was resized by adding chunks, then the buffer was obviously too small to begin with. By increasing the allocation size to reflect the size that the buffer grows to, this means that if another buffer has to be created (for example a second copy), then the new buffer can be allocated to the larger size, taking the additional chunks used into consideration.