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