Exemplo n.º 1
0
int BufferManager::lookUpIndex(string fileName, int part){
    if (IndexTable.find(hashKey(fileName, part)) != IndexTable.end()) {
        return IndexTable[hashKey(fileName, part)];
    }else{
        return fileToBuffer(fileName, part);
    }
}
Exemplo n.º 2
0
/**
 * XXX: IMPORTANt - result will show in Kb
 */
void getSwapUsage(monita_swap* buf)
{
    char buffer [BUFSIZ];
    char* p;

    memset(buf, 0, sizeof (monita_swap));

    fileToBuffer(buffer, sizeof buffer, MEMINFO);

    // XXX: IMPORTANT - Kernel 2.6 with multiple lines
    buf->total	= getScaled(buffer, "SwapTotal:");
    buf->free	= getScaled(buffer, "SwapFree:");
    buf->cached	= getScaled(buffer, "Cached:");
    buf->used	= buf->total - buf->free;

    unsigned long osVersionCode = getLinuxVersionCode();

    if(osVersionCode >= LINUX_VERSION_CODE(2, 6, 0))
    {
        fileToBuffer(buffer, sizeof buffer, PROC_VMSTAT);

        p = strstr(buffer, "\npswpin");

        if(p)
        {
            p = skipToken(p);
            buf->pagein  = strtoull(p, &p, 0);

            p = skipToken(p);
            buf->pageout = strtoull(p, &p, 0);
        }
    }
    else // Linux 2.4
    {
        fileToBuffer(buffer, sizeof buffer, PROC_STAT);

        p = strstr(buffer, "\nswap");

        if(p)
        {
            p = skipToken(p);

            buf->pagein  = strtoull(p, &p, 0);
            buf->pageout = strtoull(p, &p, 0);
        }
    }
}
Exemplo n.º 3
0
	void _loadModel( const char * xPath )
	{
		std::string path( xPath );

		Assimp::Importer importer;

#if 0
        	const aiScene* scene = importer.ReadFile(path
							, aiProcess_Triangulate      |
							  aiProcess_FlipUVs          |
							  aiProcess_CalcTangentSpace |
							  aiProcess_GenNormals       |
                                                          aiProcess_SplitLargeMeshes |
							  aiProcess_OptimizeMeshes );


#else
		size_t out;

		char * buffer = fileToBuffer( xPath, &out );

        	const aiScene* scene = importer.ReadFileFromMemory( buffer
								  , out
								  , aiProcess_Triangulate      |
	 							    aiProcess_FlipUVs          |
	 							    aiProcess_CalcTangentSpace |
								    aiProcess_GenNormals       |
	                                                            aiProcess_SplitLargeMeshes |
		  						    aiProcess_OptimizeMeshes
								  , "" );

		free ( buffer );
#endif


 	       // Check for errors
	        if(!scene || scene->mFlags == AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) // if is Not Zero
	        {
        	    std::cerr << "ERROR::ASSIMP:: " << importer.GetErrorString() << std::endl;
	            return;
	        }
	        // Retrieve the directory path of the filepath
        	mDirectory = path.substr(0, path.find_last_of('/'));

	        // Process ASSIMP's root node recursively
       		_processNode(scene->mRootNode, scene);
	}
Exemplo n.º 4
0
void realNumberOfCPU(int* nRealCPU, int* nCPU)
{
	char buffer [STAT_BUFSIZ];
	char* p = buffer;

	fileToBuffer(buffer, sizeof buffer, FILENAME);

	// cpu
	p = skipLine(p);

	for(nRealCPU = 0; ; nRealCPU++)
	{
		if(!checkCPULine(p, nRealCPU))
		{
			nRealCPU--;
			break;
		}

		p = skipLine(p);
	}

	nCPU = MIN(MONITA_NCPU - 1, nRealCPU);
}