#include <XrdFileCacheFile.hh>
|
static File * | FileOpen (const std::string &path, long long offset, long long fileSize) |
| Static constructor that also does Open. Returns null ptr if Open fails. More...
|
|
|
bool | overlap (int blk, long long blk_size, long long req_off, int req_size, long long &off, long long &blk_off, long long &size) |
|
Block * | PrepareBlockRequest (int i, IO *io, bool prefetch) |
|
void | ProcessBlockRequest (Block *b, bool prefetch) |
|
void | ProcessBlockRequests (BlockList_t &blks, bool prefetch) |
|
int | RequestBlocksDirect (IO *io, DirectResponseHandler *handler, IntList_t &blocks, char *buff, long long req_off, long long req_size) |
|
int | ReadBlocksFromDisk (IntList_t &blocks, char *req_buf, long long req_off, long long req_size) |
|
bool | VReadValidate (const XrdOucIOVec *readV, int n) |
|
void | VReadPreProcess (IO *io, const XrdOucIOVec *readV, int n, BlockList_t &blks_to_request, ReadVBlockListRAM &blks_to_process, ReadVBlockListDisk &blks_on_disk, std::vector< XrdOucIOVec > &chunkVec) |
|
int | VReadFromDisk (const XrdOucIOVec *readV, int n, ReadVBlockListDisk &blks_on_disk) |
|
int | VReadProcessBlocks (IO *io, const XrdOucIOVec *readV, int n, std::vector< ReadVChunkListRAM > &blks_to_process, std::vector< ReadVChunkListRAM > &blks_rocessed) |
|
long long | BufferSize () |
|
void | inc_ref_count (Block *) |
|
void | dec_ref_count (Block *) |
|
void | free_block (Block *) |
|
bool | select_current_io_or_disable_prefetching (bool skip_current) |
|
int | offsetIdx (int idx) |
|
◆ BlockList_i
◆ BlockList_t
◆ BlockMap_i
◆ BlockMap_t
◆ IntList_i
◆ IntList_t
◆ IoMap_i
◆ IoMap_t
◆ PrefetchState_e
Enumerator |
---|
kOff | |
kOn | |
kHold | |
kStopped | |
kComplete | |
◆ File()
XrdFileCache::File::File |
( |
const std::string & |
path, |
|
|
long long |
offset, |
|
|
long long |
fileSize |
|
) |
| |
◆ ~File()
XrdFileCache::File::~File |
( |
| ) |
|
◆ AddIO()
void XrdFileCache::File::AddIO |
( |
IO * |
io | ) |
|
◆ BlockRemovedFromWriteQ()
void XrdFileCache::File::BlockRemovedFromWriteQ |
( |
Block * |
| ) |
|
Handle removal of a block from Cache's write queue.
◆ BlocksRemovedFromWriteQ()
void XrdFileCache::File::BlocksRemovedFromWriteQ |
( |
std::list< Block *> & |
| ) |
|
Handle removal of a set of blocks from Cache's write queue.
◆ BufferSize()
long long XrdFileCache::File::BufferSize |
( |
| ) |
|
|
private |
◆ dec_ref_cnt()
int XrdFileCache::File::dec_ref_cnt |
( |
| ) |
|
|
inline |
◆ dec_ref_count()
void XrdFileCache::File::dec_ref_count |
( |
Block * |
| ) |
|
|
private |
◆ FileOpen()
static File* XrdFileCache::File::FileOpen |
( |
const std::string & |
path, |
|
|
long long |
offset, |
|
|
long long |
fileSize |
|
) |
| |
|
static |
Static constructor that also does Open. Returns null ptr if Open fails.
◆ FinalizeSyncBeforeExit()
bool XrdFileCache::File::FinalizeSyncBeforeExit |
( |
| ) |
|
◆ free_block()
void XrdFileCache::File::free_block |
( |
Block * |
| ) |
|
|
private |
◆ get_ref_cnt()
int XrdFileCache::File::get_ref_cnt |
( |
| ) |
|
|
inline |
◆ GetFileSize()
long long XrdFileCache::File::GetFileSize |
( |
| ) |
|
|
inline |
◆ GetLocalPath()
std::string& XrdFileCache::File::GetLocalPath |
( |
| ) |
|
|
inline |
◆ GetLog()
◆ GetPrefetchCountOnIO()
int XrdFileCache::File::GetPrefetchCountOnIO |
( |
IO * |
io | ) |
|
◆ GetPrefetchScore()
float XrdFileCache::File::GetPrefetchScore |
( |
| ) |
const |
◆ GetStats()
Stats& XrdFileCache::File::GetStats |
( |
| ) |
|
|
inline |
Reference to prefetch statistics.
References m_stats.
◆ GetTrace()
◆ inc_ref_cnt()
int XrdFileCache::File::inc_ref_cnt |
( |
| ) |
|
|
inline |
◆ inc_ref_count()
void XrdFileCache::File::inc_ref_count |
( |
Block * |
| ) |
|
|
private |
◆ initiate_emergency_shutdown()
void XrdFileCache::File::initiate_emergency_shutdown |
( |
| ) |
|
◆ ioActive()
bool XrdFileCache::File::ioActive |
( |
IO * |
io | ) |
|
◆ is_in_emergency_shutdown()
bool XrdFileCache::File::is_in_emergency_shutdown |
( |
| ) |
|
|
inline |
◆ isOpen()
bool XrdFileCache::File::isOpen |
( |
| ) |
const |
|
inline |
Data and cinfo files are open.
References m_is_open.
◆ lPath()
const char* XrdFileCache::File::lPath |
( |
| ) |
const |
◆ offsetIdx()
int XrdFileCache::File::offsetIdx |
( |
int |
idx | ) |
|
|
private |
◆ Open()
bool XrdFileCache::File::Open |
( |
| ) |
|
Open file handle for data file and info file on local disk.
◆ overlap()
bool XrdFileCache::File::overlap |
( |
int |
blk, |
|
|
long long |
blk_size, |
|
|
long long |
req_off, |
|
|
int |
req_size, |
|
|
long long & |
off, |
|
|
long long & |
blk_off, |
|
|
long long & |
size |
|
) |
| |
|
private |
◆ Prefetch()
void XrdFileCache::File::Prefetch |
( |
| ) |
|
◆ PrepareBlockRequest()
Block* XrdFileCache::File::PrepareBlockRequest |
( |
int |
i, |
|
|
IO * |
io, |
|
|
bool |
prefetch |
|
) |
| |
|
private |
◆ ProcessBlockRequest()
void XrdFileCache::File::ProcessBlockRequest |
( |
Block * |
b, |
|
|
bool |
prefetch |
|
) |
| |
|
private |
◆ ProcessBlockRequests()
void XrdFileCache::File::ProcessBlockRequests |
( |
BlockList_t & |
blks, |
|
|
bool |
prefetch |
|
) |
| |
|
private |
◆ ProcessBlockResponse()
◆ Read()
int XrdFileCache::File::Read |
( |
IO * |
io, |
|
|
char * |
buff, |
|
|
long long |
offset, |
|
|
int |
size |
|
) |
| |
◆ ReadBlocksFromDisk()
int XrdFileCache::File::ReadBlocksFromDisk |
( |
IntList_t & |
blocks, |
|
|
char * |
req_buf, |
|
|
long long |
req_off, |
|
|
long long |
req_size |
|
) |
| |
|
private |
◆ ReadV()
int XrdFileCache::File::ReadV |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
n |
|
) |
| |
Vector read from disk if block is already downloaded, else ReadV from client.
◆ RemoveIO()
void XrdFileCache::File::RemoveIO |
( |
IO * |
io | ) |
|
◆ RequestBlocksDirect()
int XrdFileCache::File::RequestBlocksDirect |
( |
IO * |
io, |
|
|
DirectResponseHandler * |
handler, |
|
|
IntList_t & |
blocks, |
|
|
char * |
buff, |
|
|
long long |
req_off, |
|
|
long long |
req_size |
|
) |
| |
|
private |
◆ RequestSyncOfDetachStats()
void XrdFileCache::File::RequestSyncOfDetachStats |
( |
| ) |
|
Flags that detach stats should be written out in final sync. Called from CacheIO upon Detach.
◆ select_current_io_or_disable_prefetching()
bool XrdFileCache::File::select_current_io_or_disable_prefetching |
( |
bool |
skip_current | ) |
|
|
private |
◆ StopPrefetchingOnIO()
void XrdFileCache::File::StopPrefetchingOnIO |
( |
IO * |
io | ) |
|
◆ Sync()
void XrdFileCache::File::Sync |
( |
| ) |
|
Sync file cache inf o and output data with disk.
◆ VReadFromDisk()
int XrdFileCache::File::VReadFromDisk |
( |
const XrdOucIOVec * |
readV, |
|
|
int |
n, |
|
|
ReadVBlockListDisk & |
blks_on_disk |
|
) |
| |
|
private |
◆ VReadPreProcess()
void XrdFileCache::File::VReadPreProcess |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
n, |
|
|
BlockList_t & |
blks_to_request, |
|
|
ReadVBlockListRAM & |
blks_to_process, |
|
|
ReadVBlockListDisk & |
blks_on_disk, |
|
|
std::vector< XrdOucIOVec > & |
chunkVec |
|
) |
| |
|
private |
◆ VReadProcessBlocks()
int XrdFileCache::File::VReadProcessBlocks |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
n, |
|
|
std::vector< ReadVChunkListRAM > & |
blks_to_process, |
|
|
std::vector< ReadVChunkListRAM > & |
blks_rocessed |
|
) |
| |
|
private |
◆ VReadValidate()
bool XrdFileCache::File::VReadValidate |
( |
const XrdOucIOVec * |
readV, |
|
|
int |
n |
|
) |
| |
|
private |
◆ WriteBlockToDisk()
void XrdFileCache::File::WriteBlockToDisk |
( |
Block * |
b | ) |
|
◆ m_block_map
◆ m_cfi
Info XrdFileCache::File::m_cfi |
|
private |
download status of file blocks and access statistics
◆ m_current_io
IoMap_i XrdFileCache::File::m_current_io |
|
private |
IO object to be used for prefetching.
◆ m_detachTimeIsLogged
bool XrdFileCache::File::m_detachTimeIsLogged |
|
private |
◆ m_downloadCond
◆ m_filename
std::string XrdFileCache::File::m_filename |
|
private |
◆ m_fileSize
long long XrdFileCache::File::m_fileSize |
|
private |
size of cached disk file for block-based operation
Referenced by GetFileSize().
◆ m_in_shutdown
bool XrdFileCache::File::m_in_shutdown |
|
private |
◆ m_in_sync
bool XrdFileCache::File::m_in_sync |
|
private |
◆ m_infoFile
XrdOssDF* XrdFileCache::File::m_infoFile |
|
private |
file handle for data-info file on disk
◆ m_io_map
IoMap_t XrdFileCache::File::m_io_map |
|
private |
◆ m_ios_in_detach
int XrdFileCache::File::m_ios_in_detach |
|
private |
Number of IO objects to which we replied false to ioActive() and will be removed soon.
◆ m_is_open
bool XrdFileCache::File::m_is_open |
|
private |
open state (presumably not needed anymore)
Referenced by isOpen().
◆ m_non_flushed_cnt
int XrdFileCache::File::m_non_flushed_cnt |
|
private |
◆ m_offset
long long XrdFileCache::File::m_offset |
|
private |
offset of cached file for block-based / hdfs operation
◆ m_output
file handle for data file on disk
◆ m_prefetchHitCnt
int XrdFileCache::File::m_prefetchHitCnt |
|
private |
◆ m_prefetchReadCnt
int XrdFileCache::File::m_prefetchReadCnt |
|
private |
◆ m_prefetchScore
float XrdFileCache::File::m_prefetchScore |
|
private |
◆ m_prefetchState
◆ m_ref_cnt
int XrdFileCache::File::m_ref_cnt |
|
private |
◆ m_stats
Stats XrdFileCache::File::m_stats |
|
private |
cache statistics, used in IO detach
Referenced by GetStats().
◆ m_traceID
const char* XrdFileCache::File::m_traceID |
|
staticprivate |
◆ m_writes_during_sync
std::vector<int> XrdFileCache::File::m_writes_during_sync |
|
private |
The documentation for this class was generated from the following file: