Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
void HubTcpSocket::slot_ready_read()
{
    QByteArray b;
    forever {
        if(socket->bytesAvailable() <= 0) // data is empty - exiting
            break;

        b = socket->readAll();
        buffer.append(b);
        splitBuffer();
    }
}
Exemplo n.º 3
0
 std::pair<Buffer<Tuple>,Buffer<Tuple>> split(const Tuple &pivot)
 {
   return splitBuffer(start, end, pivot);
 }