void process_choice(int choice){ BufferManager *bu = BufferManager::getBufferManager(); float hr = -1; switch(choice){ case 1: initCache(bu); break; case 2: createDB(bu); break; case 3: openDB(bu); break; case 4: readDB(bu); break; case 5: writeDB(bu); break; case 6: expandDB(bu); break; case 7: commitDB(bu); break; case 8: closeDB(bu); break; case 9: commitCache(bu); break; case 10: releaseCache(bu); break; case 11: dropDB(bu); break; case 12: cout<<endl<<"Enter Cache id: "; cin>>choice; (*bu).printHex(choice, (*bu).getPageSize()); break; case 13: (*bu).printCacheHeaders(); break; case 14: hr = (*bu).getHitRate(); if(hr!=-1) cout<<endl<<"\tHit rate is: "<<hr*100.0<<" %"<<endl; else { cout<<endl<<"\tHit rate cannot be calculated because cache"; cout<<" is either not initialized, or no operation"; cout<<" has been performed on cache yet."<<endl; } break; case 15: // releaseCache(bu); break; } }
// Close file void LineParser::closeFiles() { if (inputFile_ != NULL) { inputFile_->close(); delete inputFile_; } if (outputFile_ != NULL) { // Commit any cached content... if (!directOutput_) commitCache(); outputFile_->close(); delete outputFile_; } reset(); }
void releaseCache(BufferManager *bu){ commitCache(bu); (*bu).closeAll(); BufferManager::releaseBuffer(); }