1 #ifndef __XRDPFC_INFO_HH__
2 #define __XRDPFC_INFO_HH__
297 inline unsigned char cfiBIT(
int n)
const {
return 1 << n; }
313 const int off = i - cn*8;
322 const int off = i - cn*8;
333 const int off = i - cn*8;
344 const int off = i - cn*8;
353 const int off = i - cn*8;
417 for (
int i = firstIdx; i < lastIdx; ++i)
Definition: XrdCksCalc.hh:40
Status of cached file. Can be read from and written into a binary file.
Definition: XrdPfcInfo.hh:49
void SetBitPrefetch(int i)
Mark block as obtained through prefetch.
Definition: XrdPfcInfo.hh:326
void UpdateDownloadCompleteStatus()
Update complete status.
Definition: XrdPfcInfo.hh:423
void SetBitSynced(int i)
Mark block as synced to disk.
Definition: XrdPfcInfo.hh:348
Info(XrdSysTrace *trace, bool prefetchBuffer=false)
Constructor.
void SetAllBitsSynced()
Mark all blocks as synced to disk.
unsigned char * m_buff_prefetch
prefetch statistics
Definition: XrdPfcInfo.hh:291
void CompactifyAccessRecords()
Compactify access records to the configured maximum.
void WriteIOStatDetach(Stats &s)
Write close time together with bytes missed, hits, and disk.
static const int s_defaultVersion
Definition: XrdPfcInfo.hh:280
void ResizeBits(int n)
Reserve buffer for file_size / buffer_size bytes.
void WriteIOStat(Stats &s)
Write bytes missed, hits, and disk.
long long GetNDownloadedBytes() const
Get number of downloaded bytes.
Definition: XrdPfcInfo.hh:368
int GetLastDownloadedBlock() const
Get number of the last downloaded block.
Definition: XrdPfcInfo.hh:373
XrdCksCalc * m_cksCalc
Definition: XrdPfcInfo.hh:303
void SetBufferSize(long long)
unsigned char * m_buff_written
download state vector
Definition: XrdPfcInfo.hh:290
bool m_complete
cached
Definition: XrdPfcInfo.hh:294
bool TestBitPrefetch(int i) const
Test if block at the given index has been prefetched.
Definition: XrdPfcInfo.hh:337
bool IsComplete() const
Get complete status.
Definition: XrdPfcInfo.hh:408
bool Read(XrdOssDF *fp, const std::string &fname="<unknown>")
Rea load content from cinfo file into this object.
bool ReadV1(XrdOssDF *fp, const std::string &fname)
void ResetAllAccessStats()
Reset IO Stats.
unsigned char cfiBIT(int n) const
Definition: XrdPfcInfo.hh:297
const Store & RefStoredData() const
Get stored data.
Definition: XrdPfcInfo.hh:271
void SetBitWritten(int i)
Mark block as written to disk.
Definition: XrdPfcInfo.hh:317
int GetSizeInBits() const
Get number of blocks represented in download-state bit-vector.
Definition: XrdPfcInfo.hh:398
int m_sizeInBits
cached
Definition: XrdPfcInfo.hh:293
long long GetBufferSize() const
Get prefetch buffer size.
Definition: XrdPfcInfo.hh:428
bool ReadV2(XrdOssDF *fp, const std::string &fname)
int GetSizeInBytes() const
Get size of download-state bit-vector in bytes.
Definition: XrdPfcInfo.hh:390
long long GetExpectedDataFileSize() const
Get expected data file size.
Definition: XrdPfcInfo.hh:381
bool TestBitWritten(int i) const
Test if block at the given index is written to disk.
Definition: XrdPfcInfo.hh:308
long long GetFileSize() const
Get file size.
Definition: XrdPfcInfo.hh:403
void SetFileSize(long long)
XrdSysTrace * m_trace
Definition: XrdPfcInfo.hh:286
static const char * s_infoExtension
Definition: XrdPfcInfo.hh:279
Store m_store
Definition: XrdPfcInfo.hh:288
const AStat * GetLastAccessStats() const
Get latest access stats.
bool GetLatestDetachTime(time_t &t) const
Get latest detach time.
bool Write(XrdOssDF *fp, const std::string &fname="<unknown>")
XrdSysTrace * GetTrace() const
Definition: XrdPfcInfo.hh:283
void WriteIOStatSingle(long long bytes_disk)
Write single open/close time for given bytes read from disk.
static const char * m_traceID
Definition: XrdPfcInfo.hh:278
void GetCksum(unsigned char *buff, char *digest)
Get md5 cksum.
static size_t s_maxNumAccess
Definition: XrdPfcInfo.hh:281
int GetVersion()
Get version.
Definition: XrdPfcInfo.hh:266
int GetNDownloadedBlocks() const
Get number of downloaded blocks.
Definition: XrdPfcInfo.hh:359
size_t GetAccessCnt() const
Get number of accesses.
Definition: XrdPfcInfo.hh:261
bool IsAnythingEmptyInRng(int firstIdx, int lastIdx) const
Check download status in given block range.
Definition: XrdPfcInfo.hh:413
void WriteIOStatSingle(long long bytes_disk, time_t att, time_t dtc)
Write open/close with given time and bytes read from disk.
void DisableDownloadStatus()
Disable allocating, writing, and reading of download status.
void WriteIOStatAttach()
Write open time in the last entry of access statistics.
bool m_hasPrefetchBuffer
constains current prefetch score
Definition: XrdPfcInfo.hh:289
Statistics of cache utilisation by a File object.
Definition: XrdPfcStats.hh:31
Definition: XrdSysTrace.hh:49
Definition: XrdClAnyObject.hh:26
Access statistics.
Definition: XrdPfcInfo.hh:53
long long BytesHit
read from cache
Definition: XrdPfcInfo.hh:59
void MergeWith(const AStat &a)
long long BytesBypassed
read from remote and dropped
Definition: XrdPfcInfo.hh:61
AStat()
Definition: XrdPfcInfo.hh:63
int Duration
total duration of all IOs attached
Definition: XrdPfcInfo.hh:57
int NumIos
number of IO objects attached during this access
Definition: XrdPfcInfo.hh:56
time_t DetachTime
close time
Definition: XrdPfcInfo.hh:55
long long BytesMissed
read from remote and cached
Definition: XrdPfcInfo.hh:60
time_t AttachTime
open time
Definition: XrdPfcInfo.hh:54
int NumMerged
number of times the record has been merged
Definition: XrdPfcInfo.hh:58
Definition: XrdPfcInfo.hh:72
Store()
Definition: XrdPfcInfo.hh:82
char m_cksum[16]
cksum of downloaded information
Definition: XrdPfcInfo.hh:77
int m_version
info version
Definition: XrdPfcInfo.hh:73
long long m_buffer_size
prefetch buffer size
Definition: XrdPfcInfo.hh:74
unsigned char * m_buff_synced
disk written state vector
Definition: XrdPfcInfo.hh:76
std::vector< AStat > m_astats
access records
Definition: XrdPfcInfo.hh:80
size_t m_accessCnt
total access count for the file
Definition: XrdPfcInfo.hh:79
long long m_file_size
number of file blocks
Definition: XrdPfcInfo.hh:75
time_t m_creationTime
time the info file was created
Definition: XrdPfcInfo.hh:78