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