xrootd
|
Attaches/creates and detaches/deletes cache-io objects for disk based cache. More...
#include <XrdFileCache.hh>
Classes | |
struct | WriteQ |
struct | WriteTask |
Public Member Functions | |
Cache (XrdOucCacheStats &) | |
Constructor. More... | |
virtual XrdOucCacheIO * | Attach (XrdOucCacheIO *, int Options=0) |
Obtain a new IO object that fronts existing XrdOucCacheIO. More... | |
virtual int | isAttached () |
Number of cache-io objects atteched through this cache. More... | |
virtual XrdOucCache * | Create (XrdOucCache::Parms &, XrdOucCacheIO::aprParms *) |
Unused abstract method. Plugin instantiation role is given to the Factory class. More... | |
![]() | |
virtual int | Unlink (const char *) |
virtual int | Rmdir (const char *) |
virtual int | Rename (const char *, const char *) |
virtual int | Truncate (const char *, off_t) |
XrdOucCache () | |
virtual | ~XrdOucCache () |
Static Public Member Functions | |
static void | AddWriteTask (Prefetch *p, int ramBlockidx, size_t size, bool fromRead) |
Add downloaded block in write queue. More... | |
static bool | HaveFreeWritingSlots () |
Check write queue size is not over limit. More... | |
static void | RemoveWriteQEntriesFor (Prefetch *p) |
Remove blocks from write queue which belong to given prefetch. This method is used at the time of Prefetch destruction. More... | |
static void | ProcessWriteTasks () |
Separate task which writes blocks from ram to disk. More... | |
Private Member Functions | |
void | Detach (XrdOucCacheIO *) |
Decrease attached count. Called from IO::Detach(). More... | |
void | getFilePathFromURL (const char *url, std::string &res) const |
Transfor URL to path on local disk. More... | |
XrdCl::Log * | clLog () const |
Short log alias. More... | |
Private Attributes | |
XrdSysMutex | m_io_mutex |
central lock for this class More... | |
unsigned int | m_attached |
number of attached IO objects More... | |
XrdOucCacheStats & | m_stats |
global cache usage statistics More... | |
Static Private Attributes | |
static WriteQ | s_writeQ |
Friends | |
class | IOEntireFile |
class | IOFileBlock |
Additional Inherited Members | |
![]() | |
XrdOucCacheStats | Stats |
![]() | |
static const int | optADB = 0x1000 |
static const int | optFIS = 0x0001 |
static const int | optFIU = 0x0002 |
static const int | optRW = 0x0004 |
static const int | optNEW = 0x0014 |
static const int | optWIN = 0x0024 |
static const int | isServer = 0x0010 |
static const int | isStructured = 0x0020 |
static const int | canPreRead = 0x0040 |
static const int | logStats = 0x0080 |
static const int | Serialized = 0x0004 |
static const int | ioMTSafe = 0x0008 |
static const int | Debug = 0x0003 |
Attaches/creates and detaches/deletes cache-io objects for disk based cache.
XrdFileCache::Cache::Cache | ( | XrdOucCacheStats & | ) |
Constructor.
|
static |
Add downloaded block in write queue.
|
virtual |
Obtain a new IO object that fronts existing XrdOucCacheIO.
Implements XrdOucCache.
|
inlineprivate |
Short log alias.
References XrdCl::DefaultEnv::GetLog().
|
inlinevirtual |
Unused abstract method. Plugin instantiation role is given to the Factory class.
Implements XrdOucCache.
|
private |
Decrease attached count. Called from IO::Detach().
|
private |
Transfor URL to path on local disk.
|
static |
Check write queue size is not over limit.
|
virtual |
Number of cache-io objects atteched through this cache.
Reimplemented from XrdOucCache.
|
static |
Separate task which writes blocks from ram to disk.
|
static |
Remove blocks from write queue which belong to given prefetch. This method is used at the time of Prefetch destruction.
|
friend |
|
friend |
|
private |
number of attached IO objects
|
private |
central lock for this class
|
private |
global cache usage statistics
|
staticprivate |