XrdPosixObject Class Reference

#include <XrdPosixObject.hh>

Inheritance diagram for XrdPosixObject:
Inheritance graph
[legend]
Collaboration diagram for XrdPosixObject:
Collaboration graph
[legend]

List of all members.

Public Member Functions

bool AssignFD (bool isStream=false)
int FDNum ()
void Lock (bool wr=true)
void Ref ()
int Refs ()
void unRef ()
void UnLock ()
virtual bool Who (XrdPosixDir **dirP)
virtual bool Who (XrdPosixFile **fileP)
 XrdPosixObject ()
virtual ~XrdPosixObject ()

Static Public Member Functions

static bool CanStream ()
static XrdPosixDir * Dir (int fildes, bool glk=false)
static XrdPosixFile * File (int fildes, bool glk=false)
static int Init (int numfd)
static void Release (XrdPosixObject *oP, bool needlk=true)
static XrdPosixDir * ReleaseDir (int fildes)
static XrdPosixFile * ReleaseFile (int fildes)
static void Shutdown ()
static bool Valid (int fd)

Protected Attributes

XrdSysRecMutex updMutex
XrdSysRWLock objMutex
int fdNum
int refCnt

Static Private Attributes

static XrdSysMutex fdMutex
static XrdPosixObject ** myFiles
static int lastFD
static int highFD
static int baseFD
static int freeFD
static int posxFD
static int devNull

Constructor & Destructor Documentation

XrdPosixObject::XrdPosixObject (  )  [inline]
virtual XrdPosixObject::~XrdPosixObject (  )  [inline, virtual]

References fdNum, and Release().


Member Function Documentation

bool XrdPosixObject::AssignFD ( bool  isStream = false  ) 
static bool XrdPosixObject::CanStream (  )  [inline, static]

References baseFD, and freeFD.

static XrdPosixDir* XrdPosixObject::Dir ( int  fildes,
bool  glk = false 
) [static]
int XrdPosixObject::FDNum (  )  [inline]

References fdNum.

static XrdPosixFile* XrdPosixObject::File ( int  fildes,
bool  glk = false 
) [static]
static int XrdPosixObject::Init ( int  numfd  )  [static]
void XrdPosixObject::Lock ( bool  wr = true  )  [inline]
void XrdPosixObject::Ref (  )  [inline]
int XrdPosixObject::Refs (  )  [inline]

References AtomicRet, refCnt, and updMutex.

static void XrdPosixObject::Release ( XrdPosixObject *  oP,
bool  needlk = true 
) [static]

Referenced by ~XrdPosixObject().

static XrdPosixDir* XrdPosixObject::ReleaseDir ( int  fildes  )  [static]
static XrdPosixFile* XrdPosixObject::ReleaseFile ( int  fildes  )  [static]
static void XrdPosixObject::Shutdown (  )  [static]
void XrdPosixObject::UnLock (  )  [inline]

References objMutex, and XrdSysRWLock::UnLock().

void XrdPosixObject::unRef (  )  [inline]
static bool XrdPosixObject::Valid ( int  fd  )  [inline, static]

References baseFD, highFD, and myFiles.

virtual bool XrdPosixObject::Who ( XrdPosixFile **  fileP  )  [inline, virtual]
virtual bool XrdPosixObject::Who ( XrdPosixDir **  dirP  )  [inline, virtual]

Member Data Documentation

int XrdPosixObject::baseFD [static, private]

Referenced by CanStream(), and Valid().

int XrdPosixObject::devNull [static, private]
int XrdPosixObject::fdNum [protected]

Referenced by FDNum(), and ~XrdPosixObject().

int XrdPosixObject::freeFD [static, private]

Referenced by CanStream().

int XrdPosixObject::highFD [static, private]

Referenced by Valid().

int XrdPosixObject::lastFD [static, private]

Referenced by Valid().

Referenced by Lock(), XrdPosixDir::rewind(), and UnLock().

int XrdPosixObject::posxFD [static, private]
int XrdPosixObject::refCnt [protected]

Referenced by Ref(), Refs(), and unRef().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 16 Oct 2020 for xrootd by  doxygen 1.6.1