xrootd
|
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>
Public Member Functions | |
IOFileBlock (XrdOucCacheIO &io, XrdOucCacheStats &stats, Cache &cache) | |
Constructor. More... | |
~IOFileBlock () | |
Destructor. More... | |
virtual XrdOucCacheIO * | Detach () |
virtual int | Read (char *Buffer, long long Offset, int Length) |
Pass Read request to the corresponding Prefetch object. More... | |
virtual bool | ioActive () |
Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task. More... | |
![]() | |
IO (XrdOucCacheIO &io, XrdOucCacheStats &stats, Cache &cache) | |
virtual XrdOucCacheIO * | Base () |
Original data source. More... | |
virtual long long | FSize () |
Original data source URL. More... | |
virtual const char * | Path () |
Original data source URL. More... | |
virtual int | Sync () |
virtual int | Trunc (long long Offset) |
virtual int | Write (char *Buffer, long long Offset, int Length) |
virtual void | StartPrefetch () |
![]() | |
virtual int | ReadV (const XrdOucIOVec *readV, int n) |
virtual void | Preread (long long Offset, int Length, int Opts=0) |
virtual void | Preread (aprParms &Parms) |
virtual | ~XrdOucCacheIO () |
Private Member Functions | |
void | GetBlockSizeFromPath () |
Prefetch * | newBlockPrefetcher (long long off, int blocksize, XrdOucCacheIO *io) |
Private Attributes | |
long long | m_blocksize |
size of file-block More... | |
std::map< int, Prefetch * > | m_blocks |
map of created blocks More... | |
XrdSysMutex | m_mutex |
map mutex More... | |
Additional Inherited Members | |
![]() | |
XrdOucCacheStats | Statistics |
![]() | |
static const int | SingleUse = 0x0001 |
![]() | |
XrdCl::Log * | clLog () const |
![]() | |
XrdOucCacheIO & | m_io |
original data source More... | |
XrdOucCacheStats & | m_statsGlobal |
reference to Cache statistics More... | |
Cache & | m_cache |
reference to Cache needed in detach More... | |
Downloads original file into multiple files, chunked into blocks. Only blocks that are asked for are downloaded. Handles read requests as they come along.
XrdFileCache::IOFileBlock::IOFileBlock | ( | XrdOucCacheIO & | io, |
XrdOucCacheStats & | stats, | ||
Cache & | cache | ||
) |
Constructor.
|
inline |
Destructor.
|
virtual |
Detach from Cache. Note: this will delete the object.
Reimplemented from XrdOucCacheIO.
|
private |
|
virtual |
Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task.
Reimplemented from XrdOucCacheIO.
|
private |
|
virtual |
Pass Read request to the corresponding Prefetch object.
Implements XrdOucCacheIO.
|
private |
map of created blocks
|
private |
size of file-block
|
private |
map mutex