XrdFileCache::IOFileBlock Class Reference

Downloads original file into multiple files, chunked into blocks. Only blocks that are asked for are downloaded. Handles read requests as they come along. More...

#include <XrdFileCacheIOFileBlock.hh>

Inheritance diagram for XrdFileCache::IOFileBlock:
Inheritance graph
[legend]
Collaboration diagram for XrdFileCache::IOFileBlock:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 IOFileBlock (XrdOucCacheIO &io, XrdOucCacheStats &stats, Cache &cache)
 Constructor.
 ~IOFileBlock ()
 Destructor.
virtual XrdOucCacheIODetach ()
virtual int Read (char *Buffer, long long Offset, int Length)
 Pass Read request to the corresponding Prefetch object.
virtual bool ioActive ()
 Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task.

Private Member Functions

void GetBlockSizeFromPath ()
PrefetchnewBlockPrefetcher (long long off, int blocksize, XrdOucCacheIO *io)

Private Attributes

long long m_blocksize
 size of file-block
std::map< int, Prefetch * > m_blocks
 map of created blocks
XrdSysMutex m_mutex
 map mutex

Detailed Description

Downloads original file into multiple files, chunked into blocks. Only blocks that are asked for are downloaded. Handles read requests as they come along.


Constructor & Destructor Documentation

XrdFileCache::IOFileBlock::IOFileBlock ( XrdOucCacheIO io,
XrdOucCacheStats stats,
Cache cache 
)

Constructor.

XrdFileCache::IOFileBlock::~IOFileBlock (  )  [inline]

Destructor.


Member Function Documentation

virtual XrdOucCacheIO* XrdFileCache::IOFileBlock::Detach (  )  [virtual]

Detach from Cache. Note: this will delete the object.

Returns:
original source XrdPosixFile

Reimplemented from XrdOucCacheIO.

void XrdFileCache::IOFileBlock::GetBlockSizeFromPath (  )  [private]
virtual bool XrdFileCache::IOFileBlock::ioActive (  )  [virtual]

Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task.

Reimplemented from XrdOucCacheIO.

Prefetch* XrdFileCache::IOFileBlock::newBlockPrefetcher ( long long  off,
int  blocksize,
XrdOucCacheIO io 
) [private]
virtual int XrdFileCache::IOFileBlock::Read ( char *  Buffer,
long long  Offset,
int  Length 
) [virtual]

Pass Read request to the corresponding Prefetch object.

Implements XrdOucCacheIO.


Member Data Documentation

std::map<int, Prefetch*> XrdFileCache::IOFileBlock::m_blocks [private]

map of created blocks

size of file-block

map mutex


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

Generated on 11 Nov 2016 for xrootd by  doxygen 1.6.1