void splitLargeBufferToSmallBuffer(freeListInfo* largeFreeList, freeListInfo* smallFreeList, int size) { if (debug) printf("Splitting a %i buffer into two %i buffers\n", size*2, size); buffer* largeBuffer = removeFirstBuffer(largeFreeList); if (debug) printf("Begin splitting to add to %p...\n", smallFreeList); buffer* one = splitBuffer(largeBuffer, size); buffer* two = one + size/sizeof(buffer); // ghetto hack if (size != 4096) addBufferToFreeList(two, smallFreeList); addBufferToFreeList(one, smallFreeList); }
void HubTcpSocket::slot_ready_read() { QByteArray b; forever { if(socket->bytesAvailable() <= 0) // data is empty - exiting break; b = socket->readAll(); buffer.append(b); splitBuffer(); } }
std::pair<Buffer<Tuple>,Buffer<Tuple>> split(const Tuple &pivot) { return splitBuffer(start, end, pivot); }