#include <XrdPfcFile.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...
|
|
|
void | insert_remote_location (const std::string &loc) |
|
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) |
|
void | ProcessBlockRequests (BlockList_t &blks) |
|
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_processed, long long &bytes_hit, long long &bytes_missed) |
|
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
◆ BlockSet_i
◆ BlockSet_t
◆ IntList_i
◆ IntList_t
◆ IoMap_i
◆ IoMap_t
◆ PrefetchState_e
Enumerator |
---|
kOff | |
kOn | |
kHold | |
kStopped | |
kComplete | |
◆ File()
XrdPfc::File::File |
( |
const std::string & |
path, |
|
|
long long |
offset, |
|
|
long long |
fileSize |
|
) |
| |
◆ ~File()
◆ AddIO()
void XrdPfc::File::AddIO |
( |
IO * |
io | ) |
|
◆ BlockRemovedFromWriteQ()
void XrdPfc::File::BlockRemovedFromWriteQ |
( |
Block * |
| ) |
|
Handle removal of a block from Cache's write queue.
◆ BlocksRemovedFromWriteQ()
void XrdPfc::File::BlocksRemovedFromWriteQ |
( |
std::list< Block *> & |
| ) |
|
Handle removal of a set of blocks from Cache's write queue.
◆ BufferSize()
long long XrdPfc::File::BufferSize |
( |
| ) |
|
|
private |
◆ dec_ref_cnt()
int XrdPfc::File::dec_ref_cnt |
( |
| ) |
|
|
inline |
◆ dec_ref_count()
void XrdPfc::File::dec_ref_count |
( |
Block * |
| ) |
|
|
private |
◆ DeltaStatsFromLastCall()
Stats XrdPfc::File::DeltaStatsFromLastCall |
( |
| ) |
|
◆ FileOpen()
static File* XrdPfc::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 XrdPfc::File::FinalizeSyncBeforeExit |
( |
| ) |
|
◆ free_block()
void XrdPfc::File::free_block |
( |
Block * |
| ) |
|
|
private |
◆ get_ref_cnt()
int XrdPfc::File::get_ref_cnt |
( |
| ) |
|
|
inline |
◆ GetAccessCnt()
size_t XrdPfc::File::GetAccessCnt |
( |
| ) |
const |
|
inline |
◆ GetBlockSize()
int XrdPfc::File::GetBlockSize |
( |
| ) |
const |
|
inline |
◆ GetFileSize()
long long XrdPfc::File::GetFileSize |
( |
| ) |
|
|
inline |
◆ GetLastAccessStats()
const Info::AStat* XrdPfc::File::GetLastAccessStats |
( |
| ) |
const |
|
inline |
◆ GetLocalPath()
std::string& XrdPfc::File::GetLocalPath |
( |
| ) |
|
|
inline |
◆ GetLog()
◆ GetNBlocks()
int XrdPfc::File::GetNBlocks |
( |
| ) |
const |
|
inline |
◆ GetNDownloadedBlocks()
int XrdPfc::File::GetNDownloadedBlocks |
( |
| ) |
const |
|
inline |
◆ GetPrefetchCountOnIO()
int XrdPfc::File::GetPrefetchCountOnIO |
( |
IO * |
io | ) |
|
◆ GetPrefetchScore()
float XrdPfc::File::GetPrefetchScore |
( |
| ) |
const |
◆ GetRemoteLocations()
std::string XrdPfc::File::GetRemoteLocations |
( |
| ) |
const |
◆ GetTrace()
◆ inc_ref_cnt()
int XrdPfc::File::inc_ref_cnt |
( |
| ) |
|
|
inline |
◆ inc_ref_count()
void XrdPfc::File::inc_ref_count |
( |
Block * |
| ) |
|
|
private |
◆ initiate_emergency_shutdown()
void XrdPfc::File::initiate_emergency_shutdown |
( |
| ) |
|
◆ insert_remote_location()
void XrdPfc::File::insert_remote_location |
( |
const std::string & |
loc | ) |
|
|
private |
◆ ioActive()
bool XrdPfc::File::ioActive |
( |
IO * |
io | ) |
|
◆ ioUpdated()
void XrdPfc::File::ioUpdated |
( |
IO * |
io | ) |
|
Notification from IO that it has been updated (remote open).
◆ is_in_emergency_shutdown()
bool XrdPfc::File::is_in_emergency_shutdown |
( |
| ) |
|
|
inline |
◆ isOpen()
bool XrdPfc::File::isOpen |
( |
| ) |
const |
|
inline |
Data and cinfo files are open.
References m_is_open.
◆ lPath()
const char* XrdPfc::File::lPath |
( |
| ) |
const |
◆ offsetIdx()
int XrdPfc::File::offsetIdx |
( |
int |
idx | ) |
|
|
private |
◆ Open()
bool XrdPfc::File::Open |
( |
| ) |
|
Open file handle for data file and info file on local disk.
◆ overlap()
bool XrdPfc::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 XrdPfc::File::Prefetch |
( |
| ) |
|
◆ PrepareBlockRequest()
Block* XrdPfc::File::PrepareBlockRequest |
( |
int |
i, |
|
|
IO * |
io, |
|
|
bool |
prefetch |
|
) |
| |
|
private |
◆ ProcessBlockRequest()
void XrdPfc::File::ProcessBlockRequest |
( |
Block * |
b | ) |
|
|
private |
◆ ProcessBlockRequests()
void XrdPfc::File::ProcessBlockRequests |
( |
BlockList_t & |
blks | ) |
|
|
private |
◆ ProcessBlockResponse()
◆ Read()
int XrdPfc::File::Read |
( |
IO * |
io, |
|
|
char * |
buff, |
|
|
long long |
offset, |
|
|
int |
size |
|
) |
| |
◆ ReadBlocksFromDisk()
int XrdPfc::File::ReadBlocksFromDisk |
( |
IntList_t & |
blocks, |
|
|
char * |
req_buf, |
|
|
long long |
req_off, |
|
|
long long |
req_size |
|
) |
| |
|
private |
◆ ReadV()
int XrdPfc::File::ReadV |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
n |
|
) |
| |
Vector read from disk if block is already downloaded, else ReadV from client.
◆ RemoveIO()
void XrdPfc::File::RemoveIO |
( |
IO * |
io | ) |
|
◆ RequestBlocksDirect()
◆ RequestSyncOfDetachStats()
void XrdPfc::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 XrdPfc::File::select_current_io_or_disable_prefetching |
( |
bool |
skip_current | ) |
|
|
private |
◆ StopPrefetchingOnIO()
void XrdPfc::File::StopPrefetchingOnIO |
( |
IO * |
io | ) |
|
◆ Sync()
void XrdPfc::File::Sync |
( |
| ) |
|
Sync file cache inf o and output data with disk.
◆ VReadFromDisk()
int XrdPfc::File::VReadFromDisk |
( |
const XrdOucIOVec * |
readV, |
|
|
int |
n, |
|
|
ReadVBlockListDisk & |
blks_on_disk |
|
) |
| |
|
private |
◆ VReadPreProcess()
void XrdPfc::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 XrdPfc::File::VReadProcessBlocks |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
n, |
|
|
std::vector< ReadVChunkListRAM > & |
blks_to_process, |
|
|
std::vector< ReadVChunkListRAM > & |
blks_processed, |
|
|
long long & |
bytes_hit, |
|
|
long long & |
bytes_missed |
|
) |
| |
|
private |
◆ VReadValidate()
bool XrdPfc::File::VReadValidate |
( |
const XrdOucIOVec * |
readV, |
|
|
int |
n |
|
) |
| |
|
private |
◆ WriteBlockToDisk()
void XrdPfc::File::WriteBlockToDisk |
( |
Block * |
b | ) |
|
◆ m_block_map
◆ m_cfi
◆ m_current_io
IO object to be used for prefetching.
◆ m_data_file
file handle for data file on disk
◆ m_detach_time_logged
bool XrdPfc::File::m_detach_time_logged |
|
private |
◆ m_file_size
long long XrdPfc::File::m_file_size |
|
private |
size of cached disk file for block-based operation
Referenced by GetFileSize().
◆ m_filename
std::string XrdPfc::File::m_filename |
|
private |
◆ m_in_shutdown
bool XrdPfc::File::m_in_shutdown |
|
private |
◆ m_in_sync
bool XrdPfc::File::m_in_sync |
|
private |
◆ m_info_file
file handle for data-info file on disk
◆ m_io_map
◆ m_ios_in_detach
int XrdPfc::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 XrdPfc::File::m_is_open |
|
private |
open state (presumably not needed anymore)
Referenced by isOpen().
◆ m_last_stats
Stats XrdPfc::File::m_last_stats |
|
private |
copy of cache stats during last purge cycle, used for per directory stat reporting
◆ m_non_flushed_cnt
int XrdPfc::File::m_non_flushed_cnt |
|
private |
◆ m_offset
long long XrdPfc::File::m_offset |
|
private |
offset of cached file for block-based / hdfs operation
◆ m_prefetch_hit_cnt
int XrdPfc::File::m_prefetch_hit_cnt |
|
private |
◆ m_prefetch_read_cnt
int XrdPfc::File::m_prefetch_read_cnt |
|
private |
◆ m_prefetch_score
float XrdPfc::File::m_prefetch_score |
|
private |
◆ m_prefetch_state
◆ m_ref_cnt
int XrdPfc::File::m_ref_cnt |
|
private |
◆ m_remote_locations
std::set<std::string> XrdPfc::File::m_remote_locations |
|
private |
Gathered in AddIO / ioUpdate / ioActive.
◆ m_state_cond
◆ m_stats
Stats XrdPfc::File::m_stats |
|
private |
cache statistics for this instance
◆ m_traceID
const char* XrdPfc::File::m_traceID |
|
staticprivate |
◆ m_writes_during_sync
std::vector<int> XrdPfc::File::m_writes_during_sync |
|
private |
The documentation for this class was generated from the following file: