1 #ifndef __XRDFILECACHE_INFO_HH__
2 #define __XRDFILECACHE_INFO_HH__
40 namespace XrdFileCache
132 bool Read(
XrdOssDF* fp,
const std::string &fname =
"<unknown>");
138 bool Write(
XrdOssDF* fp,
const std::string &fname =
"<unknown>");
247 void GetCksum(
unsigned char* buff,
char* digest);
270 inline unsigned char cfiBIT(
int n)
const {
return 1 << n; }
284 const int off = i - cn*8;
295 const int off = i - cn*8;
340 for (
int i = firstIdx; i < lastIdx; ++i)
356 const int off = i - cn*8;
365 const int off = i - cn*8;
376 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:263
void WriteIOStat(Stats &s)
Write bytes missed, hits, and disk.
XrdCksCalc * m_cksCalc
Definition: XrdFileCacheInfo.hh:274
void SetBitWritten(int i)
Mark block as downloaded.
Definition: XrdFileCacheInfo.hh:360
Statistics of disk cache utilisation.
Definition: XrdFileCacheStats.hh:30
bool ReadV1(XrdOssDF *fp, const std::string &fname)
time_t AttachTime
Definition: XrdFileCacheInfo.hh:54
int GetVersion()
Get version.
Definition: XrdFileCacheInfo.hh:237
AStat()
read remote client
Definition: XrdFileCacheInfo.hh:60
static const char * m_infoExtension
Definition: XrdFileCacheInfo.hh:249
time_t m_creationTime
time the info file was created
Definition: XrdFileCacheInfo.hh:69
Store m_store
Definition: XrdFileCacheInfo.hh:261
unsigned char * m_buff_prefetch
prefetch statistics
Definition: XrdFileCacheInfo.hh:264
Store()
Definition: XrdFileCacheInfo.hh:73
bool m_hasPrefetchBuffer
constains current prefetch score
Definition: XrdFileCacheInfo.hh:262
static const size_t m_maxNumAccess
Definition: XrdFileCacheInfo.hh:252
long long GetBufferSize() const
Get prefetch buffer size.
Definition: XrdFileCacheInfo.hh:380
long long GetNDownloadedBytes() const
Get number of downloaded bytes.
Definition: XrdFileCacheInfo.hh:308
int GetSizeInBits() const
Get number of blocks represented in download-state bit-vector.
Definition: XrdFileCacheInfo.hh:321
XrdSysTrace * GetTrace() const
Definition: XrdFileCacheInfo.hh:254
time_t DetachTime
open time
Definition: XrdFileCacheInfo.hh:55
void SetBitSynced(int i)
Mark block as disk written.
Definition: XrdFileCacheInfo.hh:351
bool IsComplete() const
Get complete status.
Definition: XrdFileCacheInfo.hh:331
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 ResizeBits(int n)
Reserve buffer for fileSize/bufferSize bytes.
const Store & RefStoredData() const
Get stored data.
Definition: XrdFileCacheInfo.hh:242
long long GetFileSize() const
Get file size.
Definition: XrdFileCacheInfo.hh:326
bool TestPrefetchBit(int i) const
Test if block at the given index is prewritten.
Definition: XrdFileCacheInfo.hh:288
Definition: XrdSysTrace.hh:45
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>")
void UpdateDownloadCompleteStatus()
Update complete status.
Definition: XrdFileCacheInfo.hh:346
Definition: XrdCksCalc.hh:39
size_t m_accessCnt
number of written AStat structs
Definition: XrdFileCacheInfo.hh:70
Definition: XrdFileCacheInfo.hh:52
bool IsAnythingEmptyInRng(int firstIdx, int lastIdx) const
Check download status in given block range.
Definition: XrdFileCacheInfo.hh:336
size_t GetAccessCnt()
Get number of accesses.
Definition: XrdFileCacheInfo.hh:232
XrdSysTrace * m_trace
Definition: XrdFileCacheInfo.hh:259
Info(XrdSysTrace *trace, bool prefetchBuffer=false)
Constructor.
char m_cksum[16]
cksum of downloaded information
Definition: XrdFileCacheInfo.hh:68
static size_t GetMaxNumAccess()
Definition: XrdFileCacheInfo.hh:256
void WriteIOStatDetach(Stats &s)
Write close time together with bytes missed, hits, and disk.
bool m_complete
cached
Definition: XrdFileCacheInfo.hh:267
std::vector< AStat > m_astats
number of last m_maxAcessCnts
Definition: XrdFileCacheInfo.hh:71
void SetFileSize(long long)
void SetBufferSize(long long)
int m_sizeInBits
cached
Definition: XrdFileCacheInfo.hh:266
void SetBitPrefetch(int i)
Mark block as written from prefetchxs.
Definition: XrdFileCacheInfo.hh:369
static const char * m_traceID
Definition: XrdFileCacheInfo.hh:250
int GetSizeInBytes() const
Get size of download-state bit-vector in bytes.
Definition: XrdFileCacheInfo.hh:313
long long BytesMissed
read from ram
Definition: XrdFileCacheInfo.hh:58
int GetNDownloadedBlocks() const
Get number of downloaded blocks.
Definition: XrdFileCacheInfo.hh:299
void SetAllBitsSynced()
Mark all blocks as writte.
long long BytesRam
read from disk
Definition: XrdFileCacheInfo.hh:57
void GetCksum(unsigned char *buff, char *digest)
Get md5 cksum.
Definition: XrdFileCacheInfo.hh:63
void DisableDownloadStatus()
Disable allocating, writing, and reading of downlaod status.
long long m_bufferSize
prefetch buffer size
Definition: XrdFileCacheInfo.hh:65
bool GetLatestDetachTime(time_t &t) const
Get latest detach time.
bool TestBit(int i) const
Test if block at the given index is downlaoded.
Definition: XrdFileCacheInfo.hh:279
unsigned char cfiBIT(int n) const
Definition: XrdFileCacheInfo.hh:270
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:251