#include <fsc_FileLocStorage.h>

The particular split location is is stored in ivd_FileLocationData_t structure. Storage is organized by media and volume. So the fsc_FileLocStorage class contains file locations storage per media fsc_FLSPerMedia. The fsc_FLSPerMedia contains file location storage per volume fsc_FLSPerVolume. The fsc_FLSPerVolume contains vector of ivd_FileLocationData_t and vector of i_Recall_t.
Definition at line 34 of file fsc_FileLocStorage.h.
Public Member Functions | |
| fsc_FileLocStorage (void) | |
| ~fsc_FileLocStorage (void) | |
| void | Insert (ivd_MediaKey_t a_medKey, ivd_MedVolNum_t a_volNum, ivd_FileLocationData_t &a_fileLoc) |
| fsc_FLSPerMedia * | GetNextFSLMedium (ivd_MediaKey_t &a_medKey) |
| void | SortList () |
Private Attributes | |
| log_CLASSID_m | |
| stx_CacheVec | m_mediaStorageCache |
| unsigned int | m_iterIdx |
| fsc_FileLocStorage::fsc_FileLocStorage | ( | void | ) |
Definition at line 34 of file fsc_FileLocStorage.cpp.
00035 : 00036 m_iterIdx(0) 00037 { 00038 // Empty 00039 }
| fsc_FileLocStorage::~fsc_FileLocStorage | ( | void | ) |
| void fsc_FileLocStorage::Insert | ( | ivd_MediaKey_t | a_medKey, | |
| ivd_MedVolNum_t | a_volNum, | |||
| ivd_FileLocationData_t & | a_fileLoc | |||
| ) |
Definition at line 46 of file fsc_FileLocStorage.cpp.
References stx_CacheVec::Get(), fsc_FLSPerMedia::Insert(), stx_CacheVec::Insert(), log_FUNC_m, m_mediaStorageCache, and NULL.
Referenced by pm_JobMgr::EfficientRecallGetLocations().
00048 { 00049 log_FUNC_m(Insert); 00050 fsc_FLSPerMedia *storagePerMedia_p 00051 = (fsc_FLSPerMedia*)(m_mediaStorageCache.Get(a_medKey)); 00052 if ( storagePerMedia_p == NULL) { 00053 storagePerMedia_p = new fsc_FLSPerMedia(a_medKey); 00054 m_mediaStorageCache.Insert(storagePerMedia_p); 00055 } 00056 storagePerMedia_p->Insert(a_volNum, 00057 a_fileLoc); 00058 }


| fsc_FLSPerMedia * fsc_FileLocStorage::GetNextFSLMedium | ( | ivd_MediaKey_t & | a_medKey | ) |
Definition at line 63 of file fsc_FileLocStorage.cpp.
References dbg_DETAIL, fsc_FLSPerMedia::GetMediaKey(), log_DBG_m, log_FUNC_m, m_iterIdx, m_mediaStorageCache, and NULL.
Referenced by pm_JobMgr::CreateEfficientRecallJobs().
00063 { 00064 log_FUNC_m(GetNextFSLMedium); 00065 00066 log_DBG_m(dbg_DETAIL, "m_iterIdx: " << m_iterIdx 00067 << ", number of media: " << m_mediaStorageCache.size()); 00068 00069 while (m_iterIdx < m_mediaStorageCache.size()) { 00070 fsc_FLSPerMedia* p 00071 = static_cast<fsc_FLSPerMedia*>(m_mediaStorageCache[m_iterIdx]); 00072 00073 a_medKey = p->GetMediaKey(); 00074 00075 m_mediaStorageCache[m_iterIdx] = NULL; //job will delete this element 00076 00077 ++m_iterIdx; 00078 return p; 00079 } 00080 return NULL; 00081 }


| void fsc_FileLocStorage::SortList | ( | ) |
Definition at line 84 of file fsc_FileLocStorage.cpp.
References log_FUNC_m, m_mediaStorageCache, and fsc_FLSPerMedia::SortList().
Referenced by pm_JobMgr::EfficientRecallGetLocations().
00084 { 00085 log_FUNC_m(SortList); 00086 00087 UInt32_t idx = 0; 00088 while (idx < m_mediaStorageCache.size()) { 00089 fsc_FLSPerMedia* p 00090 = static_cast<fsc_FLSPerMedia*>(m_mediaStorageCache[idx]); 00091 p->SortList(); 00092 ++idx; 00093 } 00094 }


fsc_FileLocStorage::log_CLASSID_m [private] |
Definition at line 53 of file fsc_FileLocStorage.h.
Definition at line 55 of file fsc_FileLocStorage.h.
Referenced by GetNextFSLMedium(), Insert(), and SortList().
unsigned int fsc_FileLocStorage::m_iterIdx [private] |
1.5.6