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(); }
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; }