xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
XrdFrmPurge Class Reference

#include <XrdFrmPurge.hh>

Collaboration diagram for XrdFrmPurge:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 XrdFrmPurge (const char *snp, XrdFrmPurge *spp=0)
 ~XrdFrmPurge ()

Static Public Member Functions

static void Display ()
static int Init (XrdOucTList *sP=0, long long minV=-1, int hVal=-1)
static XrdFrmPurge * Policy (const char *sname)
static XrdFrmPurge * Policy (const char *sname, long long minV, long long maxV, int hVal, int xVal)
static void Purge ()

Private Member Functions

XrdFrmFileset * Advance ()
void Clear ()
void Defer (XrdFrmFileset *sP, time_t xTime)
const char * Eligible (XrdFrmFileset *sP, time_t &xTime, int hTime=0)
int PurgeFile ()
void Track (XrdFrmFileset *sP)
const char * XPolOK (XrdFrmFileset *sP)

Static Private Member Functions

static void Add (XrdFrmFileset *fsp)
static XrdFrmPurge * Find (const char *snp)
static int LowOnSpace ()
 >0 -> Purge is needed.
static void Scan ()
static void Stats (int Final)

Private Attributes

long long freeSpace
long long fconMaxsp
long long usedSpace
long long pmaxSpace
long long totlSpace
long long contSpace
long long purgBytes
long long minFSpace
long long maxFSpace
char * spaceTotl
char * spaceTotP
int spaceTLen
int spaceTLep
int Hold
int Hold2x
int Ext
int numFiles
int prgFiles
int Enabled
int Stop
int SNlen
XrdFrmPurge * Next
XrdFrmTSort FSTab
char SName [XrdOssSpace::minSNbsz]
XrdFrmFileset * DeferQ [DeferQsz]
time_t DeferT [DeferQsz]

Static Private Attributes

static XrdOucProg * PolProg = 0
static XrdOucStream * PolStream = 0
static time_t lastReset = 0
static time_t nextReset = 0
static XrdFrmPurge * First = 0
static XrdFrmPurge * Default = 0
static int Left2Do = 0
static const int DeferQsz = 16

Constructor & Destructor Documentation

XrdFrmPurge::XrdFrmPurge ( const char *  snp,
XrdFrmPurge *  spp = 0 
)
XrdFrmPurge::~XrdFrmPurge ( ) [inline]

References Clear().


Member Function Documentation

void XrdFrmPurge::Add ( XrdFrmFileset *  fsp) [static, private]
XrdFrmFileset * XrdFrmPurge::Advance ( ) [private]
void XrdFrmPurge::Clear ( ) [private]
void XrdFrmPurge::Defer ( XrdFrmFileset *  sP,
time_t  xTime 
) [private]
void XrdFrmPurge::Display ( ) [static]
const char * XrdFrmPurge::Eligible ( XrdFrmFileset *  sP,
time_t &  xTime,
int  hTime = 0 
) [private]
XrdFrmPurge * XrdFrmPurge::Find ( const char *  snp) [static, private]

References First, SName, and Next.

Referenced by Add(), Init(), and Policy().

int XrdFrmPurge::Init ( XrdOucTList *  sP = 0,
long long  minV = -1,
int  hVal = -1 
) [static]
int XrdFrmPurge::LowOnSpace ( ) [static, private]
static XrdFrmPurge* XrdFrmPurge::Policy ( const char *  sname) [inline, static]

References Find().

Referenced by mainConfig().

XrdFrmPurge * XrdFrmPurge::Policy ( const char *  sname,
long long  minV,
long long  maxV,
int  hVal,
int  xVal 
) [static]
void XrdFrmPurge::Purge ( ) [static]

References First, LowOnSpace(), Say, Stats(), Left2Do, Stop, PurgeFile(), and Next.

Referenced by Scan(), and main().

int XrdFrmPurge::PurgeFile ( ) [private]
void XrdFrmPurge::Scan ( ) [static, private]
void XrdFrmPurge::Stats ( int  Final) [static, private]
void XrdFrmPurge::Track ( XrdFrmFileset *  sP) [private]
const char * XrdFrmPurge::XPolOK ( XrdFrmFileset *  sP) [private]

Member Data Documentation

long long XrdFrmPurge::contSpace [private]

Referenced by XrdFrmPurge(), and LowOnSpace().

XrdFrmPurge * XrdFrmPurge::Default = 0 [static, private]

Referenced by Add(), and Init().

Referenced by XrdFrmPurge(), Advance(), Clear(), and Defer().

const int XrdFrmPurge::DeferQsz = 16 [static, private]

Referenced by Advance(), Clear(), and Defer().

time_t XrdFrmPurge::DeferT[DeferQsz] [private]

Referenced by Advance(), Clear(), and Defer().

int XrdFrmPurge::Enabled [private]
int XrdFrmPurge::Ext [private]

Referenced by Display(), Policy(), and PurgeFile().

long long XrdFrmPurge::fconMaxsp [private]
XrdFrmPurge * XrdFrmPurge::First = 0 [static, private]
long long XrdFrmPurge::freeSpace [private]

Referenced by Add(), Advance(), Clear(), PurgeFile(), and Stats().

int XrdFrmPurge::Hold [private]

Referenced by Add(), Advance(), Display(), Policy(), and PurgeFile().

int XrdFrmPurge::Hold2x [private]

Referenced by Policy().

time_t XrdFrmPurge::lastReset = 0 [static, private]
int XrdFrmPurge::Left2Do = 0 [static, private]

Referenced by LowOnSpace(), and Purge().

long long XrdFrmPurge::maxFSpace [private]
long long XrdFrmPurge::minFSpace [private]
time_t XrdFrmPurge::nextReset = 0 [static, private]

Referenced by PurgeFile().

int XrdFrmPurge::numFiles [private]

Referenced by Add(), Clear(), and Stats().

long long XrdFrmPurge::pmaxSpace [private]

Referenced by XrdFrmPurge().

XrdOucProg * XrdFrmPurge::PolProg = 0 [static, private]

Referenced by Init(), and XPolOK().

XrdOucStream * XrdFrmPurge::PolStream = 0 [static, private]

Referenced by Init(), and XPolOK().

int XrdFrmPurge::prgFiles [private]

Referenced by Clear(), PurgeFile(), and Stats().

long long XrdFrmPurge::purgBytes [private]

Referenced by Clear(), PurgeFile(), Stats(), and XPolOK().

int XrdFrmPurge::SNlen [private]

Referenced by XrdFrmPurge(), and XPolOK().

int XrdFrmPurge::spaceTLen [private]

Referenced by XPolOK().

int XrdFrmPurge::spaceTLep [private]
char* XrdFrmPurge::spaceTotl [private]

Referenced by XPolOK().

char* XrdFrmPurge::spaceTotP [private]
int XrdFrmPurge::Stop [private]
long long XrdFrmPurge::totlSpace [private]

Referenced by XrdFrmPurge(), Init(), and Stats().

long long XrdFrmPurge::usedSpace [private]

Referenced by XrdFrmPurge(), LowOnSpace(), Stats(), and XPolOK().


The documentation for this class was generated from the following files: