|
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 (XrdOucCacheIO2 *io, XrdOucCacheStats &stats, Cache &cache) | |
| Constructor. More... | |
| ~IOFileBlock () | |
| Destructor. More... | |
| virtual XrdOucCacheIO * | Detach () |
| virtual int | Read (char *Buffer, long long Offset, int Length) |
| virtual bool | ioActive () |
| Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task. More... | |
| virtual int | Fstat (struct stat &sbuff) |
| virtual long long | FSize () |
Public Member Functions inherited from XrdFileCache::IO | |
| IO (XrdOucCacheIO2 *io, XrdOucCacheStats &stats, Cache &cache) | |
| virtual XrdOucCacheIO * | Base () |
| Original data source. 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 | Update (XrdOucCacheIO2 &iocp) |
| XrdSysTrace * | GetTrace () |
| XrdOucCacheIO2 * | GetInput () |
Public Member Functions inherited from XrdOucCacheIO2 | |
| virtual const char * | Location () |
| virtual void | Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen) |
| virtual void | ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int rnum) |
| virtual void | Sync (XrdOucCacheIOCB &iocb) |
| virtual void | Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) |
| virtual | ~XrdOucCacheIO2 () |
Public Member Functions inherited from XrdOucCacheIO | |
| 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 () |
| int | initLocalStat () |
| File * | newBlockFile (long long off, int blocksize) |
| void | CloseInfoFile () |
Private Attributes | |
| long long | m_blocksize |
| size of file-block More... | |
| std::map< int, File * > | m_blocks |
| map of created blocks More... | |
| XrdSysMutex | m_mutex |
| map mutex More... | |
| struct stat * | m_localStat |
| Info | m_info |
| XrdOssDF * | m_infoFile |
Additional Inherited Members | |
Public Attributes inherited from XrdOucCacheIO | |
| XrdOucCacheStats | Statistics |
Static Public Attributes inherited from XrdOucCacheIO | |
| static const int | SingleUse = 0x0001 |
Protected Member Functions inherited from XrdFileCache::IO | |
| const char * | GetPath () |
Protected Attributes inherited from XrdFileCache::IO | |
| XrdOucCacheStats & | m_statsGlobal |
| reference to Cache statistics More... | |
| Cache & | m_cache |
| reference to Cache needed in detach More... | |
| const char * | m_traceID |
| std::string | m_path |
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 | ( | XrdOucCacheIO2 * | io, |
| XrdOucCacheStats & | stats, | ||
| Cache & | cache | ||
| ) |
Constructor.
| XrdFileCache::IOFileBlock::~IOFileBlock | ( | ) |
Destructor.
|
private |
|
virtual |
Detach from Cache. Note: this will delete the object.
Reimplemented from XrdOucCacheIO.
|
virtual |
Implements XrdOucCacheIO.
|
virtual |
Perform an fstat() operation (defaults to passthrough).
| sbuff | reference to the stat buffer to be filled in. Only fields st_size, st_blocks, st_mtime (st_atime and st_ctime may be set to st_mtime), st_ino, and st_mode need to be set. All other fields are preset and should not be changed. |
Reimplemented from XrdOucCacheIO2.
|
private |
|
private |
|
virtual |
Virtual method of XrdOucCacheIO. Called to check if destruction needs to be done in a separate task.
Reimplemented from XrdOucCacheIO.
|
private |
|
virtual |
Implements XrdOucCacheIO.
|
private |
map of created blocks
|
private |
size of file-block
|
private |
|
private |
|
private |
|
private |
map mutex
1.8.5