63 size_t skip(
size_t numBytes);
71 size_t read(
void* buffer,
size_t numBytes);
86 Buffer8*
push(uint8_t* buf,
size_t len,
bool ownsData);
96 Buffer8*
push(
size_t index, uint8_t* buf,
size_t len,
bool ownsData);
Buffer8 * push(uint8_t *buf, size_t len, bool ownsData)
Pushes a new chunk (sequential mode).
Definition SparseBuffer.cpp:134
virtual void rewind(void)
Resets all chunk offsets to zero and sets current chunk pointing to first chunk.
Definition SparseBuffer.cpp:175
virtual void chunkSkip(size_t offset)
Increments offset of current chunk.
Definition SparseBuffer.cpp:186
std::vector< Buffer8 * > chunks
Collection of chunks.
Definition SparseBuffer.h:174
virtual ~SparseBuffer()
Destroys a SparseBuffer.
Definition SparseBuffer.cpp:44
Mode mode_
Mode.
Definition SparseBuffer.h:184
SparseBuffer()
Constructs a SparseBuffer.
Definition SparseBuffer.cpp:42
bool copyDataChunksToContiguous(uint8_t *buffer)
Copies all chunks, in sequence, into single buffer.
Definition SparseBuffer.cpp:202
std::mutex mutex_
Mutex for thread safety.
Definition SparseBuffer.h:189
size_t read(void *buffer, size_t numBytes)
Reads contiguous bytes.
Definition SparseBuffer.cpp:71
size_t dataLen
Total length of all chunks.
Definition SparseBuffer.h:164
size_t length(void) const
Gets contiguous length.
Definition SparseBuffer.cpp:67
void cleanup(void)
Cleans up resources.
Definition SparseBuffer.cpp:167
bool reachedEnd_
End of contiguous buffer has been reached.
Definition SparseBuffer.h:179
size_t chunkOffset(void)
Gets offset of current chunk.
Definition SparseBuffer.cpp:232
Mode
Definition SparseBuffer.h:126
@ Sequential
Definition SparseBuffer.h:128
@ Unset
Definition SparseBuffer.h:127
@ Indexed
Definition SparseBuffer.h:129
size_t currentChunkId
Current chunk ID.
Definition SparseBuffer.h:169
size_t chunkLength(void)
Gets current chunk length.
Definition SparseBuffer.cpp:225
void tryIncrement(void)
Increments to next chunk if appropriate.
Definition SparseBuffer.cpp:48
size_t offset(void)
Gets contiguous offset.
Definition SparseBuffer.cpp:239
uint8_t * chunkPtr(void)
Gets current chunk pointer.
Definition SparseBuffer.cpp:218
size_t skip(size_t numBytes)
Skips contiguous bytes.
Definition SparseBuffer.cpp:102
bool empty(void) const
Definition SparseBuffer.h:119
SparseBufferIncompleteException()
Definition SparseBuffer.cpp:38
ResWindow.
Definition CompressedChunkCache.h:36
Buffer< uint8_t, AllocatorVanilla > Buffer8
Definition buffer.h:257