1 #ifndef __XRDFILECACHE_INFO_HH__ 2 #define __XRDFILECACHE_INFO_HH__ 132 bool Read(
XrdOssDF* fp,
const std::string &fname =
"<unknown>");
138 bool Write(
XrdOssDF* fp,
const std::string &fname =
"<unknown>");
262 void GetCksum(
unsigned char* buff,
char* digest);
285 inline unsigned char cfiBIT(
int n)
const {
return 1 << n; }
299 const int off = i - cn*8;
310 const int off = i - cn*8;
372 for (
int i = firstIdx; i < lastIdx; ++i)
388 const int off = i - cn*8;
397 const int off = i - cn*8;
408 const int off = i - cn*8;
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:278
void WriteIOStat(Stats &s)
Write bytes missed, hits, and disk.
XrdCksCalc * m_cksCalc
Definition: XrdFileCacheInfo.hh:289
void SetBitWritten(int i)
Mark block as downloaded.
Definition: XrdFileCacheInfo.hh:392
Statistics of disk cache utilisation.
Definition: XrdFileCacheStats.hh:30
bool ReadV1(XrdOssDF *fp, const std::string &fname)
bool TestPrefetchBit(int i) const
Test if block at the given index is prewritten.
Definition: XrdFileCacheInfo.hh:303
long long GetExpectedDataFileSize() const
Get expected data file size.
Definition: XrdFileCacheInfo.hh:336
time_t AttachTime
Definition: XrdFileCacheInfo.hh:54
Definition: XrdFileCache.hh:40
int GetVersion()
Get version.
Definition: XrdFileCacheInfo.hh:252
AStat()
read remote client
Definition: XrdFileCacheInfo.hh:60
static const char * m_infoExtension
Definition: XrdFileCacheInfo.hh:264
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:314
Store m_store
Definition: XrdFileCacheInfo.hh:276
unsigned char * m_buff_prefetch
prefetch statistics
Definition: XrdFileCacheInfo.hh:279
bool IsAnythingEmptyInRng(int firstIdx, int lastIdx) const
Check download status in given block range.
Definition: XrdFileCacheInfo.hh:368
int GetSizeInBits() const
Get number of blocks represented in download-state bit-vector.
Definition: XrdFileCacheInfo.hh:353
Store()
Definition: XrdFileCacheInfo.hh:73
bool m_hasPrefetchBuffer
constains current prefetch score
Definition: XrdFileCacheInfo.hh:277
static const size_t m_maxNumAccess
Definition: XrdFileCacheInfo.hh:267
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 disk written.
Definition: XrdFileCacheInfo.hh:383
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:328
void UpdateDownloadCompleteStatus()
Update complete status.
Definition: XrdFileCacheInfo.hh:378
bool TestBit(int i) const
Test if block at the given index is downlaoded.
Definition: XrdFileCacheInfo.hh:294
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:247
long long GetFileSize() const
Get file size.
Definition: XrdFileCacheInfo.hh:358
XrdSysTrace * m_trace
Definition: XrdFileCacheInfo.hh:274
const Store & RefStoredData() const
Get stored data.
Definition: XrdFileCacheInfo.hh:257
Info(XrdSysTrace *trace, bool prefetchBuffer=false)
Constructor.
Definition: XrdClAnyObject.hh:25
long long GetBufferSize() const
Get prefetch buffer size.
Definition: XrdFileCacheInfo.hh:412
char m_cksum[16]
cksum of downloaded information
Definition: XrdFileCacheInfo.hh:68
static size_t GetMaxNumAccess()
Definition: XrdFileCacheInfo.hh:271
unsigned char cfiBIT(int n) const
Definition: XrdFileCacheInfo.hh:285
void WriteIOStatDetach(Stats &s)
Write close time together with bytes missed, hits, and disk.
bool m_complete
cached
Definition: XrdFileCacheInfo.hh:282
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:323
int m_sizeInBits
cached
Definition: XrdFileCacheInfo.hh:281
void SetBitPrefetch(int i)
Mark block as written from prefetchxs.
Definition: XrdFileCacheInfo.hh:401
static const char * m_traceID
Definition: XrdFileCacheInfo.hh:265
long long BytesMissed
read from ram
Definition: XrdFileCacheInfo.hh:58
void SetAllBitsSynced()
Mark all blocks as writte.
long long BytesRam
read from disk
Definition: XrdFileCacheInfo.hh:57
bool IsComplete() const
Get complete status.
Definition: XrdFileCacheInfo.hh:363
void GetCksum(unsigned char *buff, char *digest)
Get md5 cksum.
XrdSysTrace * GetTrace() const
Definition: XrdFileCacheInfo.hh:269
Definition: XrdFileCacheInfo.hh:63
int GetSizeInBytes() const
Get size of download-state bit-vector in bytes.
Definition: XrdFileCacheInfo.hh:345
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:266