Grok  7.6.3
Public Member Functions | Private Member Functions | Private Attributes | List of all members
grk::ChunkBuffer Struct Reference

#include <ChunkBuffer.h>

Public Member Functions

 ChunkBuffer ()
 
 ~ChunkBuffer ()
 
grk_bufpush_back (uint8_t *buf, size_t len, bool ownsData)
 
bool alloc_and_push_back (size_t len)
 
void incr_cur_chunk_offset (size_t offset)
 
size_t get_cur_chunk_len (void)
 
uint8_t * get_cur_chunk_ptr (void)
 
void rewind (void)
 
size_t skip (size_t nb_bytes)
 
void increment (void)
 
size_t read (void *p_buffer, size_t nb_bytes)
 

Private Member Functions

size_t get_global_offset (void)
 
bool copy_to_contiguous_buffer (uint8_t *buffer)
 
void cleanup (void)
 
bool zero_copy_read (uint8_t **ptr, size_t chunk_len)
 Zero copy read of contiguous chunk from current chunk. More...
 
size_t get_cur_chunk_offset (void)
 
void push_back (grk_buf *chunk)
 

Private Attributes

size_t data_len
 
size_t cur_chunk_id
 
std::vector< grk_buf * > chunks
 

Constructor & Destructor Documentation

◆ ChunkBuffer()

grk::ChunkBuffer::ChunkBuffer ( )

◆ ~ChunkBuffer()

grk::ChunkBuffer::~ChunkBuffer ( )

References cleanup().

Member Function Documentation

◆ alloc_and_push_back()

bool grk::ChunkBuffer::alloc_and_push_back ( size_t  len)

References push_back().

◆ cleanup()

void grk::ChunkBuffer::cleanup ( void  )
private

References chunks.

Referenced by ~ChunkBuffer().

◆ copy_to_contiguous_buffer()

bool grk::ChunkBuffer::copy_to_contiguous_buffer ( uint8_t *  buffer)
private

References chunks.

◆ get_cur_chunk_len()

size_t grk::ChunkBuffer::get_cur_chunk_len ( void  )

◆ get_cur_chunk_offset()

size_t grk::ChunkBuffer::get_cur_chunk_offset ( void  )
private

References chunks, and cur_chunk_id.

Referenced by get_global_offset().

◆ get_cur_chunk_ptr()

uint8_t * grk::ChunkBuffer::get_cur_chunk_ptr ( void  )

◆ get_global_offset()

size_t grk::ChunkBuffer::get_global_offset ( void  )
private

◆ incr_cur_chunk_offset()

void grk::ChunkBuffer::incr_cur_chunk_offset ( size_t  offset)

◆ increment()

void grk::ChunkBuffer::increment ( void  )

References chunks, and cur_chunk_id.

Referenced by incr_cur_chunk_offset().

◆ push_back() [1/2]

void grk::ChunkBuffer::push_back ( grk_buf chunk)
private

◆ push_back() [2/2]

grk_buf * grk::ChunkBuffer::push_back ( uint8_t *  buf,
size_t  len,
bool  ownsData 
)

Referenced by alloc_and_push_back().

◆ read()

size_t grk::ChunkBuffer::read ( void *  p_buffer,
size_t  nb_bytes 
)

◆ rewind()

void grk::ChunkBuffer::rewind ( void  )

◆ skip()

size_t grk::ChunkBuffer::skip ( size_t  nb_bytes)

◆ zero_copy_read()

bool grk::ChunkBuffer::zero_copy_read ( uint8_t **  ptr,
size_t  chunk_len 
)
private

Zero copy read of contiguous chunk from current chunk.

Returns false if unable to get a contiguous chunk, true otherwise

References chunks, cur_chunk_id, and read().

Member Data Documentation

◆ chunks

std::vector<grk_buf*> grk::ChunkBuffer::chunks
private

◆ cur_chunk_id

size_t grk::ChunkBuffer::cur_chunk_id
private

◆ data_len

size_t grk::ChunkBuffer::data_len
private

Referenced by push_back(), read(), and skip().


The documentation for this struct was generated from the following files: