1 #ifndef __XRDFILECACHE_FACTORY_HH__
2 #define __XRDFILECACHE_FACTORY_HH__
28 #include "XrdVersion.hh"
40 namespace XrdFileCache
132 bool Config(
XrdSysLogger *logger,
const char *config_filename,
const char *parameters);
142 static bool VCheck(XrdVersionInfo &urVersion) {
return true; }
long long m_blockSize
used with m_prefetchFileBlocks, default 128MB
Definition: XrdFileCacheFactory.hh:69
Instantiates Cache and Decision plugins. Parses configuration file.
Definition: XrdFileCacheFactory.hh:76
bool ConfigXeq(char *, XrdOucStream &)
XrdOucCacheStats m_stats
passed to cache, currently not used
Definition: XrdFileCacheFactory.hh:163
Definition: XrdOucCache.hh:158
std::vector< XrdFileCache::Decision * > m_decisionpoints
decision plugins
Definition: XrdFileCacheFactory.hh:166
bool Config(XrdSysLogger *logger, const char *config_filename, const char *parameters)
Parse configuration file.
Definition: XrdOucStream.hh:43
XrdSysError & GetSysError()
Getter for xrootd logger.
Definition: XrdFileCacheFactory.hh:106
static bool VCheck(XrdVersionInfo &urVersion)
Version check.
Definition: XrdFileCacheFactory.hh:142
void UnCheckFileForDiskSpace(const char *path)
std::string m_username
username passed to oss plugin
Definition: XrdFileCacheFactory.hh:60
bool ConfigParameters(const char *)
Definition: XrdSysError.hh:87
int m_NRamBuffersRead
number of read in-memory cache blocks
Definition: XrdFileCacheFactory.hh:67
static Log * GetLog()
Get default log.
XrdCl::Log * clLog() const
Definition: XrdFileCacheFactory.hh:158
Definition: XrdOucCache.hh:313
bool CheckFileForDiskSpace(const char *path, long long fsize)
std::string m_cache_dir
path of disk cache
Definition: XrdFileCacheFactory.hh:59
bool Decide(XrdOucCacheIO *)
Makes decision if the original XrdOucCacheIO should be cached.
const Configuration & RefConfiguration() const
Reference XrdFileCache configuration.
Definition: XrdFileCacheFactory.hh:120
float m_hwm
cache purge high water mark
Definition: XrdFileCacheFactory.hh:64
bool xdlib(XrdOucStream &)
virtual XrdOucCacheIO * Attach(XrdOucCacheIO *, int Options=0)
Unused abstract method. This method is implemented in the the Cache class.
Definition: XrdFileCacheFactory.hh:88
virtual XrdOucCache * Create(Parms &, XrdOucCacheIO::aprParms *aprP)
Creates XrdFileCache::Cache object.
virtual int isAttached()
Unused abstract method. This information is available in the Cache class.
Definition: XrdFileCacheFactory.hh:94
Contains parameters configurable from the xrootd config file.
Definition: XrdFileCacheFactory.hh:45
Definition: XrdOucCache.hh:278
XrdOss * m_output_fs
disk cache file system
Definition: XrdFileCacheFactory.hh:164
Configuration m_configuration
configurable parameters
Definition: XrdFileCacheFactory.hh:170
int m_NRamBuffersPrefetch
number of prefetch in-memory cache blocks
Definition: XrdFileCacheFactory.hh:68
bool xolib(XrdOucStream &)
Definition: XrdSysLogger.hh:50
static Factory * m_factory
this object
Definition: XrdFileCacheFactory.hh:160
Configuration()
Definition: XrdFileCacheFactory.hh:47
bool m_prefetchFileBlocks
flag for enabling block-level operation
Definition: XrdFileCacheFactory.hh:58
std::map< std::string, long long > m_filesInQueue
Definition: XrdFileCacheFactory.hh:168
static Factory & GetInstance()
Singleton access.
Definition: XrdOss.hh:173
float m_lwm
cache purge low water mark
Definition: XrdFileCacheFactory.hh:63
void CacheDirCleanup()
Thread function running disk cache purge periodically.
std::string m_osslib_name
oss library name (optional)
Definition: XrdFileCacheFactory.hh:61
Definition: XrdOucCache.hh:93
XrdSysError m_log
XrdFileCache namespace logger.
Definition: XrdFileCacheFactory.hh:162
XrdOss * GetOss() const
Definition: XrdFileCacheFactory.hh:101
long long m_bufferSize
prefetch buffer size, default 1MB
Definition: XrdFileCacheFactory.hh:66