#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.
|
|
|
| File (const std::string &path, long long offset, long long fileSize) |
| Constructor.
|
|
bool | Open () |
| Open file handle for data file and info file on local disk.
|
|
void | insert_remote_location (const std::string &loc) |
|
void | inc_prefetch_read_cnt (int prc) |
|
void | inc_prefetch_hit_cnt (int phc) |
|
void | calc_prefetch_score () |
|
bool | overlap (int blk, long long blk_size, long long req_off, int req_size, long long &off, long long &blk_off, int &size) |
|
Block * | PrepareBlockRequest (int i, IO *io, void *req_id, bool prefetch) |
|
void | ProcessBlockRequest (Block *b) |
|
void | ProcessBlockRequests (BlockList_t &blks) |
|
void | RequestBlocksDirect (IO *io, DirectResponseHandler *handler, std::vector< XrdOucIOVec > &ioVec, int expected_size) |
|
int | ReadBlocksFromDisk (std::vector< XrdOucIOVec > &ioVec, int expected_size) |
|
int | ReadOpusCoalescere (IO *io, const XrdOucIOVec *readV, int readVnum, ReadReqRH *rh, const char *tpfx) |
|
void | ProcessDirectReadFinished (ReadRequest *rreq, int bytes_read, int error_cond) |
|
void | ProcessBlockError (Block *b, ReadRequest *rreq) |
|
void | ProcessBlockSuccess (Block *b, ChunkRequest &creq) |
|
void | FinalizeReadRequest (ReadRequest *rreq) |
|
void | ProcessBlockResponse (Block *b, int res) |
|
void | inc_ref_count (Block *b) |
|
void | dec_ref_count (Block *b, int count=1) |
|
void | free_block (Block *) |
|
bool | select_current_io_or_disable_prefetching (bool skip_current) |
|
int | offsetIdx (int idx) const |
|
◆ BlockMap_i
◆ BlockMap_t
◆ IntList_i
◆ IntList_t
◆ IoSet_i
◆ IoSet_t
◆ PrefetchState_e
Enumerator |
---|
kOff | |
kOn | |
kHold | |
kStopped | |
kComplete | |
◆ ~File()
◆ File()
XrdPfc::File::File |
( |
const std::string & |
path, |
|
|
long long |
offset, |
|
|
long long |
fileSize |
|
) |
| |
|
private |
◆ 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.
◆ calc_prefetch_score()
void XrdPfc::File::calc_prefetch_score |
( |
| ) |
|
|
inlineprivate |
◆ dec_ref_cnt()
int XrdPfc::File::dec_ref_cnt |
( |
| ) |
|
|
inline |
◆ dec_ref_count()
void XrdPfc::File::dec_ref_count |
( |
Block * |
b, |
|
|
int |
count = 1 |
|
) |
| |
|
inlineprivate |
◆ 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.
◆ FinalizeReadRequest()
void XrdPfc::File::FinalizeReadRequest |
( |
ReadRequest * |
rreq | ) |
|
|
private |
◆ 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_prefetch_hit_cnt()
void XrdPfc::File::inc_prefetch_hit_cnt |
( |
int |
phc | ) |
|
|
inlineprivate |
◆ inc_prefetch_read_cnt()
void XrdPfc::File::inc_prefetch_read_cnt |
( |
int |
prc | ) |
|
|
inlineprivate |
◆ inc_ref_cnt()
int XrdPfc::File::inc_ref_cnt |
( |
| ) |
|
|
inline |
◆ inc_ref_count()
void XrdPfc::File::inc_ref_count |
( |
Block * |
b | ) |
|
|
inlineprivate |
◆ 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 |
◆ lPath()
const char * XrdPfc::File::lPath |
( |
| ) |
const |
◆ offsetIdx()
int XrdPfc::File::offsetIdx |
( |
int |
idx | ) |
const |
|
private |
◆ Open()
bool XrdPfc::File::Open |
( |
| ) |
|
|
private |
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, |
|
|
int & |
size |
|
) |
| |
|
private |
◆ Prefetch()
void XrdPfc::File::Prefetch |
( |
| ) |
|
◆ PrepareBlockRequest()
Block * XrdPfc::File::PrepareBlockRequest |
( |
int |
i, |
|
|
IO * |
io, |
|
|
void * |
req_id, |
|
|
bool |
prefetch |
|
) |
| |
|
private |
◆ ProcessBlockError()
◆ ProcessBlockRequest()
void XrdPfc::File::ProcessBlockRequest |
( |
Block * |
b | ) |
|
|
private |
◆ ProcessBlockRequests()
void XrdPfc::File::ProcessBlockRequests |
( |
BlockList_t & |
blks | ) |
|
|
private |
◆ ProcessBlockResponse()
void XrdPfc::File::ProcessBlockResponse |
( |
Block * |
b, |
|
|
int |
res |
|
) |
| |
|
private |
◆ ProcessBlockSuccess()
◆ ProcessDirectReadFinished()
void XrdPfc::File::ProcessDirectReadFinished |
( |
ReadRequest * |
rreq, |
|
|
int |
bytes_read, |
|
|
int |
error_cond |
|
) |
| |
|
private |
◆ Read()
int XrdPfc::File::Read |
( |
IO * |
io, |
|
|
char * |
buff, |
|
|
long long |
offset, |
|
|
int |
size, |
|
|
ReadReqRH * |
rh |
|
) |
| |
◆ ReadBlocksFromDisk()
int XrdPfc::File::ReadBlocksFromDisk |
( |
std::vector< XrdOucIOVec > & |
ioVec, |
|
|
int |
expected_size |
|
) |
| |
|
private |
◆ ReadOpusCoalescere()
int XrdPfc::File::ReadOpusCoalescere |
( |
IO * |
io, |
|
|
const XrdOucIOVec * |
readV, |
|
|
int |
readVnum, |
|
|
ReadReqRH * |
rh, |
|
|
const char * |
tpfx |
|
) |
| |
|
private |
◆ ReadV()
◆ RefStats()
const Stats & XrdPfc::File::RefStats |
( |
| ) |
const |
|
inline |
◆ 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.
◆ WriteBlockToDisk()
void XrdPfc::File::WriteBlockToDisk |
( |
Block * |
b | ) |
|
◆ BlockResponseHandler
◆ DirectResponseHandler
◆ m_block_map
◆ m_block_size
long long XrdPfc::File::m_block_size |
|
private |
◆ 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_set
◆ 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_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_num_blocks
int XrdPfc::File::m_num_blocks |
|
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
Referenced by RefStats().
◆ 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: