XrdOssMio Class Reference

#include <XrdOssMio.hh>

List of all members.

Static Public Member Functions

static void Display (XrdSysError &Eroute)
static int getOpts (char *path, int popts)
static char isAuto ()
static char isOn ()
static XrdOssMioFileMap (char *path, int fd, int opts)
static void * preLoad (void *arg)
static void Recycle (XrdOssMioFile *mp)
static void Set (int V_off, int V_preld, int V_chklok, int V_chkmap, int V_chkkeep)
static void Set (long long V_max)

Static Private Member Functions

static int Reclaim (off_t amount)
static int Reclaim (XrdOssMioFile *mp)

Static Private Attributes

static XrdOucHash< XrdOssMioFileMM_Hash
static XrdSysMutex MM_Mutex
static XrdOssMioFileMM_Perm
static XrdOssMioFileMM_Idle
static XrdOssMioFileMM_IdleLast
static char MM_on
static char MM_chk
static char MM_chklok
static char MM_chkmap
static char MM_chkkeep
static char MM_okmlock
static char MM_preld
static long long MM_max
static long long MM_pagsz
static long long MM_pages
static long long MM_inuse


Detailed Description

Definition at line 26 of file XrdOssMio.hh.


Member Function Documentation

void XrdOssMio::Display ( XrdSysError Eroute  )  [static]

Definition at line 66 of file XrdOssMio.cc.

References MM_chkkeep, MM_chklok, MM_chkmap, MM_max, MM_on, MM_preld, XrdSysError::Say(), and snprintf.

Referenced by XrdOssSys::Config_Display().

int XrdOssMio::getOpts ( char *  path,
int  popts 
) [static]

Definition at line 82 of file XrdOssMio.cc.

References MM_chkkeep, MM_chklok, MM_chkmap, OSSMIO_MLOK, OSSMIO_MMAP, OSSMIO_MPRM, stat, and strcpy().

Referenced by XrdOssFile::Open().

static char XrdOssMio::isAuto (  )  [inline, static]

Definition at line 33 of file XrdOssMio.hh.

References MM_chk.

Referenced by XrdOssSys::ConfigMio().

static char XrdOssMio::isOn (  )  [inline, static]

Definition at line 35 of file XrdOssMio.hh.

References MM_on.

Referenced by XrdOssSys::ConfigMio().

XrdOssMioFile * XrdOssMio::Map ( char *  path,
int  fd,
int  opts 
) [static]

Definition at line 109 of file XrdOssMio.cc.

References XrdOucHash< T >::Add(), XrdOucTrace::bin2hex(), DEBUG, XrdSysError::Emsg(), ENOSYS, EPNAME, XrdOucHash< T >::Find(), fstat, XrdSysMutexHelper::Lock(), MM_Hash, MM_inuse, MM_max, MM_Mutex, MM_okmlock, MM_Perm, MM_preld, OSSMIO_MLOK, OSSMIO_MPRM, preLoad(), Reclaim(), XrdSysThread::Run(), and stat.

Referenced by XrdOssFile::Open().

void * XrdOssMio::preLoad ( void *  arg  )  [static]

Definition at line 236 of file XrdOssMio.cc.

References Reflex::Dummy::Base(), XrdOssMioFile::Base, MM_pagsz, Recycle(), and XrdOssMioFile::Size.

Referenced by Map().

void XrdOssMio::Recycle ( XrdOssMioFile mp  )  [static]

Definition at line 306 of file XrdOssMio.cc.

References XrdSysError::Emsg(), XrdOssMioFile::HashName, XrdOssMioFile::inUse, MM_Idle, MM_IdleLast, MM_Mutex, XrdOssMioFile::Next, OSSMIO_MPRM, and XrdOssMioFile::Status.

Referenced by XrdOssFile::Close(), and preLoad().

void XrdOssMio::Set ( int  V_off,
int  V_preld,
int  V_chklok,
int  V_chkmap,
int  V_chkkeep 
) [static]

Definition at line 332 of file XrdOssMio.cc.

References MM_chk, MM_chkkeep, MM_chklok, MM_chkmap, MM_on, and MM_preld.

Referenced by XrdOssSys::ConfigMio(), and XrdOssSys::xmemf().

void XrdOssMio::Set ( long long  V_max  )  [static]

Definition at line 343 of file XrdOssMio.cc.

References MM_max, MM_pages, and MM_pagsz.

int XrdOssMio::Reclaim ( off_t  amount  )  [static, private]

Definition at line 259 of file XrdOssMio.cc.

References DEBUG, XrdOucHash< T >::Del(), EPNAME, XrdOssMioFile::HashName, MM_Hash, MM_Idle, MM_inuse, XrdOssMioFile::Next, and XrdOssMioFile::Size.

Referenced by Map().

int XrdOssMio::Reclaim ( XrdOssMioFile mp  )  [static, private]

Definition at line 281 of file XrdOssMio.cc.

References DEBUG, XrdOssMioFile::Dev, EPNAME, XrdOssMioFile::Ino, MM_Idle, MM_IdleLast, and XrdOssMioFile::Next.


Member Data Documentation

XrdOucHash< XrdOssMioFile > XrdOssMio::MM_Hash [static, private]

Definition at line 52 of file XrdOssMio.hh.

Referenced by Map(), and Reclaim().

XrdSysMutex XrdOssMio::MM_Mutex [static, private]

Definition at line 54 of file XrdOssMio.hh.

Referenced by Map(), and Recycle().

XrdOssMioFile * XrdOssMio::MM_Perm [static, private]

Definition at line 55 of file XrdOssMio.hh.

Referenced by Map().

XrdOssMioFile * XrdOssMio::MM_Idle [static, private]

Definition at line 56 of file XrdOssMio.hh.

Referenced by Reclaim(), and Recycle().

XrdOssMioFile * XrdOssMio::MM_IdleLast [static, private]

Definition at line 57 of file XrdOssMio.hh.

Referenced by Reclaim(), and Recycle().

char XrdOssMio::MM_on [static, private]

Definition at line 59 of file XrdOssMio.hh.

Referenced by Display(), isOn(), and Set().

char XrdOssMio::MM_chk [static, private]

Definition at line 60 of file XrdOssMio.hh.

Referenced by isAuto(), and Set().

char XrdOssMio::MM_chklok [static, private]

Definition at line 61 of file XrdOssMio.hh.

Referenced by Display(), getOpts(), and Set().

char XrdOssMio::MM_chkmap [static, private]

Definition at line 62 of file XrdOssMio.hh.

Referenced by Display(), getOpts(), and Set().

char XrdOssMio::MM_chkkeep [static, private]

Definition at line 63 of file XrdOssMio.hh.

Referenced by Display(), getOpts(), and Set().

char XrdOssMio::MM_okmlock [static, private]

Definition at line 64 of file XrdOssMio.hh.

Referenced by Map().

char XrdOssMio::MM_preld [static, private]

Definition at line 65 of file XrdOssMio.hh.

Referenced by Display(), Map(), and Set().

long long XrdOssMio::MM_max [static, private]

Definition at line 66 of file XrdOssMio.hh.

Referenced by Display(), Map(), and Set().

long long XrdOssMio::MM_pagsz [static, private]

Definition at line 67 of file XrdOssMio.hh.

Referenced by preLoad(), and Set().

long long XrdOssMio::MM_pages [static, private]

Definition at line 68 of file XrdOssMio.hh.

Referenced by Set().

long long XrdOssMio::MM_inuse [static, private]

Definition at line 69 of file XrdOssMio.hh.

Referenced by Map(), and Reclaim().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:36 2011 for ROOT_528-00b_version by  doxygen 1.5.1