Public Member Functions | Private Attributes

fsc_FileLocStorage Class Reference

is used to collect file locations got from FSC. More...

#include <fsc_FileLocStorage.h>

Collaboration diagram for fsc_FileLocStorage:
Collaboration graph

List of all members.

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_FLSPerMediaGetNextFSLMedium (ivd_MediaKey_t &a_medKey)
void SortList ()

Private Attributes

stx_CacheVec m_mediaStorageCache
unsigned int m_iterIdx

Detailed Description

is used to collect file locations got from FSC.

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 48 of file fsc_FileLocStorage.h.

Constructor & Destructor Documentation

fsc_FileLocStorage::fsc_FileLocStorage ( void   ) 

Definition at line 48 of file fsc_FileLocStorage.cpp.

    // Empty

fsc_FileLocStorage::~fsc_FileLocStorage ( void   ) 

Definition at line 56 of file fsc_FileLocStorage.cpp.


Member Function Documentation

fsc_FLSPerMedia * fsc_FileLocStorage::GetNextFSLMedium ( ivd_MediaKey_t a_medKey  ) 

Definition at line 77 of file fsc_FileLocStorage.cpp.

References dbg_DETAIL, fsc_FLSPerMedia::GetMediaKey(), log_DBG_m, log_FUNC_m, m_iterIdx, and m_mediaStorageCache.

Referenced by pm_JobMgr::CreateEfficientRecallJobs().

    log_DBG_m(dbg_DETAIL, "m_iterIdx: " << m_iterIdx
                       << ", number of media: " << m_mediaStorageCache.size());
    while (m_iterIdx < m_mediaStorageCache.size()) {
        fsc_FLSPerMedia* p 
            = static_cast<fsc_FLSPerMedia*>(m_mediaStorageCache[m_iterIdx]);

        a_medKey = p->GetMediaKey();
        m_mediaStorageCache[m_iterIdx] = NULL; //job will delete this element

        return p;
    return NULL;

Here is the call graph for this function:

Here is the caller graph for this function:

void fsc_FileLocStorage::Insert ( ivd_MediaKey_t  a_medKey,
ivd_MedVolNum_t  a_volNum,
ivd_FileLocationData_t a_fileLoc 

Definition at line 60 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().

    fsc_FLSPerMedia *storagePerMedia_p 
        = (fsc_FLSPerMedia*)(m_mediaStorageCache.Get(a_medKey));
    if ( storagePerMedia_p == NULL) {
        storagePerMedia_p = new fsc_FLSPerMedia(a_medKey);

Here is the call graph for this function:

Here is the caller graph for this function:

void fsc_FileLocStorage::SortList (  ) 

Definition at line 98 of file fsc_FileLocStorage.cpp.

References log_FUNC_m, m_mediaStorageCache, and fsc_FLSPerMedia::SortList().

Referenced by pm_JobMgr::EfficientRecallGetLocations().


    UInt32_t idx = 0;    
    while (idx < m_mediaStorageCache.size()) {
        fsc_FLSPerMedia* p 
            = static_cast<fsc_FLSPerMedia*>(m_mediaStorageCache[idx]);

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

Definition at line 67 of file fsc_FileLocStorage.h.

unsigned int fsc_FileLocStorage::m_iterIdx [private]

Definition at line 70 of file fsc_FileLocStorage.h.

Referenced by GetNextFSLMedium().

Definition at line 69 of file fsc_FileLocStorage.h.

Referenced by GetNextFSLMedium(), Insert(), and SortList().

The documentation for this class was generated from the following files: