MCPcopy Create free account
hub / github.com/cinder/Cinder / pushFront

Method pushFront

src/cinder/Buffer.cpp:140–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138}
139
140void StreamingBuffer::pushFront( const void *data, size_t dataSize )
141{
142 std::lock_guard<std::mutex> lock( mMutex );
143 size_t offset = 0;
144
145 while( offset < dataSize ) {
146 size_t copyCount = std::min( dataSize - offset, mBlockSize - mWriteOffset );
147 memcpy( &mBlocks.back()[mWriteOffset], &reinterpret_cast<const uint8_t*>(data)[offset], copyCount );
148 offset += copyCount;
149 mWriteOffset += copyCount;
150 if( mWriteOffset == mBlockSize )
151 allocateNewWriteBlock();
152 }
153}
154
155size_t StreamingBuffer::popBack( void *output, size_t maxSize )
156{

Callers 5

loadImagesThreadFnMethod · 0.45
workerMethod · 0.45
serviceTweetsMethod · 0.45
Utilities.cppFile · 0.45

Calls 2

backMethod · 0.80
minFunction · 0.50

Tested by 1

loadImagesThreadFnMethod · 0.36