xrootd
Classes | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
XrdFileCache::Info Class Reference

Status of cached file. Can be read from and written into a binary file. More...

#include <XrdFileCacheInfo.hh>

Classes

struct  AStat
 Cache statistics and time of access. More...
 

Public Member Functions

 Info ()
 Constructor. More...
 
 ~Info ()
 Destructor. More...
 
void SetBit (int i)
 Mark block as downloaded. More...
 
void ResizeBits (int n)
 Reserve buffer for fileSize/bufferSize bytes. More...
 
int Read (XrdOssDF *fp)
 Rea load content from cinfo file into this object. More...
 
void WriteHeader (XrdOssDF *fp)
 Write number of blocks and prefetch buffer size. More...
 
void AppendIOStat (const Stats *stat, XrdOssDF *fp)
 Append access time, and cache statistics. More...
 
bool IsAnythingEmptyInRng (int firstIdx, int lastIdx) const
 Check download status in given block range. More...
 
int GetSizeInBytes () const
 Get size of download-state bit-vector in bytes. More...
 
int GetSizeInBits () const
 Get number of blocks represented in download-state bit-vector. More...
 
int GetHeaderSize () const
 Get header size. More...
 
bool GetLatestDetachTime (time_t &t, XrdOssDF *fp) const
 Get latest detach time. More...
 
long long GetBufferSize () const
 Get prefetch buffer size. More...
 
bool TestBit (int i) const
 Test if block at the given index is downlaoded. More...
 
bool IsComplete () const
 Get complete status. More...
 
void CheckComplete ()
 Update complete status. More...
 

Static Public Attributes

static const char * m_infoExtension
 

Private Member Functions

XrdCl::Log * clLog () const
 

Static Private Member Functions

static unsigned char cfiBIT (int n)
 

Private Attributes

int m_version
 info version More...
 
long long m_bufferSize
 prefetch buffer size More...
 
int m_sizeInBits
 number of file blocks More...
 
unsigned char * m_buff
 download state vector More...
 
int m_accessCnt
 number of written AStat structs More...
 
bool m_complete
 cached More...
 

Detailed Description

Status of cached file. Can be read from and written into a binary file.

Constructor & Destructor Documentation

XrdFileCache::Info::Info ( )

Constructor.

XrdFileCache::Info::~Info ( )

Destructor.

Member Function Documentation

void XrdFileCache::Info::AppendIOStat ( const Stats stat,
XrdOssDF fp 
)

Append access time, and cache statistics.

static unsigned char XrdFileCache::Info::cfiBIT ( int  n)
inlinestaticprivate

Referenced by SetBit(), and TestBit().

void XrdFileCache::Info::CheckComplete ( )
inline

Update complete status.

References IsAnythingEmptyInRng(), m_complete, and m_sizeInBits.

XrdCl::Log* XrdFileCache::Info::clLog ( ) const
inlineprivate
long long XrdFileCache::Info::GetBufferSize ( ) const
inline

Get prefetch buffer size.

References m_bufferSize.

int XrdFileCache::Info::GetHeaderSize ( ) const

Get header size.

bool XrdFileCache::Info::GetLatestDetachTime ( time_t &  t,
XrdOssDF fp 
) const

Get latest detach time.

int XrdFileCache::Info::GetSizeInBits ( ) const
inline

Get number of blocks represented in download-state bit-vector.

References m_sizeInBits.

int XrdFileCache::Info::GetSizeInBytes ( ) const
inline

Get size of download-state bit-vector in bytes.

References m_sizeInBits.

Referenced by SetBit(), and TestBit().

bool XrdFileCache::Info::IsAnythingEmptyInRng ( int  firstIdx,
int  lastIdx 
) const
inline

Check download status in given block range.

References TestBit().

Referenced by CheckComplete().

bool XrdFileCache::Info::IsComplete ( ) const
inline

Get complete status.

References m_complete.

int XrdFileCache::Info::Read ( XrdOssDF fp)

Rea load content from cinfo file into this object.

Parameters
fpfile handle
Returns
number of bytes read
void XrdFileCache::Info::ResizeBits ( int  n)

Reserve buffer for fileSize/bufferSize bytes.

Parameters
nnumber of file blocks
void XrdFileCache::Info::SetBit ( int  i)
inline

Mark block as downloaded.

Parameters
iblock index

References cfiBIT(), GetSizeInBytes(), and m_buff.

bool XrdFileCache::Info::TestBit ( int  i) const
inline

Test if block at the given index is downlaoded.

References cfiBIT(), GetSizeInBytes(), and m_buff.

Referenced by IsAnythingEmptyInRng().

void XrdFileCache::Info::WriteHeader ( XrdOssDF fp)

Write number of blocks and prefetch buffer size.

Member Data Documentation

int XrdFileCache::Info::m_accessCnt
private

number of written AStat structs

unsigned char* XrdFileCache::Info::m_buff
private

download state vector

Referenced by SetBit(), and TestBit().

long long XrdFileCache::Info::m_bufferSize
private

prefetch buffer size

Referenced by GetBufferSize().

bool XrdFileCache::Info::m_complete
private

cached

Referenced by CheckComplete(), and IsComplete().

const char* XrdFileCache::Info::m_infoExtension
static
int XrdFileCache::Info::m_sizeInBits
private

number of file blocks

Referenced by CheckComplete(), GetSizeInBits(), and GetSizeInBytes().

int XrdFileCache::Info::m_version
private

info version


The documentation for this class was generated from the following file: