fsc_FileLocStorage Class Reference
[G_new_group]

#include <fsc_FileLocStorage.h>

Collaboration diagram for fsc_FileLocStorage:

Collaboration graph
[legend]

List of all members.


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

Private Attributes

 log_CLASSID_m
stx_CacheVec m_mediaStorageCache
unsigned int m_iterIdx

Constructor & Destructor Documentation

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   ) 

Definition at line 42 of file fsc_FileLocStorage.cpp.

00042                                             {
00043 }


Member Function Documentation

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

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]

Definition at line 56 of file fsc_FileLocStorage.h.

Referenced by GetNextFSLMedium().


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

Generated on Mon Feb 27 19:20:34 2012 for OPENARCHIVE by  doxygen 1.5.6