1#ifndef __XRDFILECACHE_INFO_HH__
2#define __XRDFILECACHE_INFO_HH__
279 inline unsigned char cfiBIT(
int n)
const {
return 1 << n; }
293 const int off = i - cn*8;
302 const int off = i - cn*8;
313 const int off = i - cn*8;
324 const int off = i - cn*8;
333 const int off = i - cn*8;
397 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: XrdFileCacheInfo.hh:49
static size_t GetMaxNumAccess()
Definition: XrdFileCacheInfo.hh:265
unsigned char * m_buff_prefetch
prefetch statistics
Definition: XrdFileCacheInfo.hh:273
const Store & RefStoredData() const
Get stored data.
Definition: XrdFileCacheInfo.hh:251
int GetLastDownloadedBlock() const
Get number of the last downloaded block.
Definition: XrdFileCacheInfo.hh:353
XrdCksCalc * m_cksCalc
Definition: XrdFileCacheInfo.hh:283
void ResetAllAccessStats()
Reset IO Stats.
int GetSizeInBits() const
Get number of blocks represented in download-state bit-vector.
Definition: XrdFileCacheInfo.hh:378
bool GetLatestDetachTime(time_t &t) const
Get latest detach time.
XrdSysTrace * GetTrace() const
Definition: XrdFileCacheInfo.hh:263
int GetSizeInBytes() const
Get size of download-state bit-vector in bytes.
Definition: XrdFileCacheInfo.hh:370
void ResizeBits(int n)
Reserve buffer for fileSize/bufferSize bytes.
int m_sizeInBits
cached
Definition: XrdFileCacheInfo.hh:275
void DisableDownloadStatus()
Disable allocating, writing, and reading of downlaod status.
void WriteIOStatDetach(Stats &s)
Write close time together with bytes missed, hits, and disk.
long long GetExpectedDataFileSize() const
Get expected data file size.
Definition: XrdFileCacheInfo.hh:361
void SetBitWritten(int i)
Mark block as written to disk.
Definition: XrdFileCacheInfo.hh:297
static const size_t m_maxNumAccess
Definition: XrdFileCacheInfo.hh:261
void SetBitPrefetch(int i)
Mark block as obtained through prefetch.
Definition: XrdFileCacheInfo.hh:306
void SetBufferSize(long long)
bool m_hasPrefetchBuffer
constains current prefetch score
Definition: XrdFileCacheInfo.hh:271
bool Read(XrdOssDF *fp, const std::string &fname="<unknown>")
Rea load content from cinfo file into this object.
Store m_store
Definition: XrdFileCacheInfo.hh:270
void SetAllBitsSynced()
Mark all blocks as synced to disk.
bool TestBitPrefetch(int i) const
Test if block at the given index has been prefetched.
Definition: XrdFileCacheInfo.hh:317
static const char * m_infoExtension
Definition: XrdFileCacheInfo.hh:258
void SetBitSynced(int i)
Mark block as synced to disk.
Definition: XrdFileCacheInfo.hh:328
int GetVersion()
Get version.
Definition: XrdFileCacheInfo.hh:246
XrdSysTrace * m_trace
Definition: XrdFileCacheInfo.hh:268
void WriteIOStat(Stats &s)
Write bytes missed, hits, and disk.
bool TestBitWritten(int i) const
Test if block at the given index is written to disk.
Definition: XrdFileCacheInfo.hh:288
bool Write(XrdOssDF *fp, const std::string &fname="<unknown>")
size_t GetAccessCnt()
Get number of accesses.
Definition: XrdFileCacheInfo.hh:241
void GetCksum(unsigned char *buff, char *digest)
Get md5 cksum.
void WriteIOStatAttach()
Write open time in the last entry of access statistics.
bool ReadV1(XrdOssDF *fp, const std::string &fname)
void UpdateDownloadCompleteStatus()
Update complete status.
Definition: XrdFileCacheInfo.hh:403
long long GetNDownloadedBytes() const
Get number of downloaded bytes.
Definition: XrdFileCacheInfo.hh:348
Info(XrdSysTrace *trace, bool prefetchBuffer=false)
Constructor.
static const int m_defaultVersion
Definition: XrdFileCacheInfo.hh:260
void WriteIOStatSingle(long long bytes_disk, time_t att, time_t dtc)
Write open/close with given time and bytes read from disk.
static const char * m_traceID
Definition: XrdFileCacheInfo.hh:259
bool IsAnythingEmptyInRng(int firstIdx, int lastIdx) const
Check download status in given block range.
Definition: XrdFileCacheInfo.hh:393
unsigned char * m_buff_written
download state vector
Definition: XrdFileCacheInfo.hh:272
long long GetBufferSize() const
Get prefetch buffer size.
Definition: XrdFileCacheInfo.hh:408
int GetNDownloadedBlocks() const
Get number of downloaded blocks.
Definition: XrdFileCacheInfo.hh:339
bool m_complete
cached
Definition: XrdFileCacheInfo.hh:276
long long GetFileSize() const
Get file size.
Definition: XrdFileCacheInfo.hh:383
bool IsComplete() const
Get complete status.
Definition: XrdFileCacheInfo.hh:388
unsigned char cfiBIT(int n) const
Definition: XrdFileCacheInfo.hh:279
void WriteIOStatSingle(long long bytes_disk)
Write single open/close time for given bytes read from disk.
void SetFileSize(long long)
Statistics of disk cache utilisation.
Definition: XrdFileCacheStats.hh:31
Definition: XrdSysTrace.hh:49
Definition: XrdClAnyObject.hh:26
Definition: XrdFileCache.hh:40
Definition: XrdFileCacheInfo.hh:53
time_t AttachTime
Definition: XrdFileCacheInfo.hh:54
long long BytesMissed
read from ram
Definition: XrdFileCacheInfo.hh:58
long long BytesRam
read from disk
Definition: XrdFileCacheInfo.hh:57
time_t DetachTime
open time
Definition: XrdFileCacheInfo.hh:55
long long BytesDisk
close time
Definition: XrdFileCacheInfo.hh:56
AStat()
read remote client
Definition: XrdFileCacheInfo.hh:60
Definition: XrdFileCacheInfo.hh:63
time_t m_creationTime
time the info file was created
Definition: XrdFileCacheInfo.hh:69
int m_version
info version
Definition: XrdFileCacheInfo.hh:64
Store()
Definition: XrdFileCacheInfo.hh:73
long long m_bufferSize
prefetch buffer size
Definition: XrdFileCacheInfo.hh:65
std::vector< AStat > m_astats
number of last m_maxAcessCnts
Definition: XrdFileCacheInfo.hh:71
long long m_fileSize
number of file blocks
Definition: XrdFileCacheInfo.hh:66
unsigned char * m_buff_synced
disk written state vector
Definition: XrdFileCacheInfo.hh:67
size_t m_accessCnt
number of written AStat structs
Definition: XrdFileCacheInfo.hh:70
char m_cksum[16]
cksum of downloaded information
Definition: XrdFileCacheInfo.hh:68