ResourceManager::ResourceManager(LBServer *_lb, ConfigType *serverConfig) {
    lb = _lb;
    subServerNum = serverConfig->subServerNum;
    resourceNum = serverConfig->resourceNumber;
    capacity = serverConfig->maxCapacity;
    period = serverConfig->period;
    fileList.clear();
    string logStr = "init ResourceManager::fileList";
    serverLog.writeResourceLog(logStr);
    for (unsigned int i = 0; i < resourceNum; i++) {
        unsigned int filePlayLen = Randomi(serverConfig->minPlayLen, serverConfig->maxPlayLen);
        FileInfo *fileInfo = new FileInfo(i, filePlayLen);
        if (fileInfo != NULL)
            fileList.push_back(fileInfo);
    }
    initResource();
}
Exemple #2
0
int Markv::GetNextStatus(int curStatus)
{
	// 为啥弄个 | 或?直接 || 不就好了
	if((curStatus == PAUSE) | (curStatus == FORWARD) | (curStatus == BACKWARD))
		return PLAY;
	else{
		int temp = Randomi(1,1000);
		int sum = 0;
		for(unsigned int i = 0;i < mMMVect.size();i++){
			sum += mMMVect[i].prob;
			if(sum >= temp){
				return mMMVect[i].status;
			}
		}
	}
	cout << " markv play status parameter error..." << endl;
	assert(0);
	return PLAY;
}