size always matches the buffer in StreamArray