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 XrdPosixDirDir (int fildes, bool glk=false)
static XrdPosixFileFile (int fildes, bool glk=false)
static int Init (int numfd)
static void Release (XrdPosixObject *oP, bool needlk=true)
static XrdPosixDirReleaseDir (int fildes)
static XrdPosixFileReleaseFile (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 7 Jul 2020 for xrootd by  doxygen 1.6.1