xrootd
Classes | Typedefs
XrdOucCache.hh File Reference
#include <errno.h>
#include <cstdint>
#include <vector>
#include "XrdOuc/XrdOucCacheStats.hh"
#include "XrdOuc/XrdOucIOVec.hh"
Include dependency graph for XrdOucCache.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  XrdOucCacheIOCB
 
class  XrdOucCacheIOCD
 
class  XrdOucCacheIO
 
struct  XrdOucCacheIO::aprParms
 
class  XrdOucCache
 

Typedefs

typedef XrdOucCache *(* XrdOucCache_t) (XrdSysLogger *, const char *, const char *, XrdOucEnv *)
 

Typedef Documentation

◆ XrdOucCache_t

typedef XrdOucCache*(* XrdOucCache_t) (XrdSysLogger *, const char *, const char *, XrdOucEnv *)

Your cache plug-in must exist in a shared library and have the following extern C function defined whos parameters are:

Parameters
LoggerPointer to the logger object that should be used with an instance of XrdSysError to direct messages to a log file. If Logger is null, you should use cerr to output messages.
ConfigPointer to the configuration file name from where you should get additional information. If Config is null, there is no configuration file is present.
ParmsPointer to any parameters specified after the shared library path. If Parms is null, there are no parameters.
envPPointer to environmental information. The most relevant is whether or not gStream monitoring is enabled. XrdXrootdGStream gStream = (XrddXrootdGStream *) envP->GetPtr("pfc.gStream</em>");
Returns
A usable, fully configured, instance of an XrdOucCache object upon success and a null pointer otherwise. This instance is used for all operations defined by methods in XrdOucCache base class.

extern "C" { XrdOucCache *XrdOucGetCache(XrdSysLogger *Logger, // Where messages go const char *Config, // Config file used const char *Parms, // Optional parm string } XrdOucEnv *envP); // Optional environment