xrootd
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Private Attributes | List of all members
XrdPosixObject Class Reference

#include <XrdPosixObject.hh>

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

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::XrdPosixObject ( )
inline

◆ ~XrdPosixObject()

virtual XrdPosixObject::~XrdPosixObject ( )
inlinevirtual

References fdNum, and Release().

Member Function Documentation

◆ AssignFD()

bool XrdPosixObject::AssignFD ( bool  isStream = false)

◆ CanStream()

static bool XrdPosixObject::CanStream ( )
inlinestatic

References baseFD, and freeFD.

◆ Dir()

static XrdPosixDir* XrdPosixObject::Dir ( int  fildes,
bool  glk = false 
)
static

◆ FDNum()

int XrdPosixObject::FDNum ( )
inline

References fdNum.

◆ File()

static XrdPosixFile* XrdPosixObject::File ( int  fildes,
bool  glk = false 
)
static

◆ Init()

static int XrdPosixObject::Init ( int  numfd)
static

◆ Lock()

void XrdPosixObject::Lock ( bool  wr = true)
inline

◆ Ref()

void XrdPosixObject::Ref ( )
inline

◆ Refs()

int XrdPosixObject::Refs ( )
inline

References AtomicRet, refCnt, and updMutex.

◆ Release()

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

Referenced by ~XrdPosixObject().

◆ ReleaseDir()

static XrdPosixDir* XrdPosixObject::ReleaseDir ( int  fildes)
static

◆ ReleaseFile()

static XrdPosixFile* XrdPosixObject::ReleaseFile ( int  fildes)
static

◆ Shutdown()

static void XrdPosixObject::Shutdown ( )
static

◆ UnLock()

void XrdPosixObject::UnLock ( )
inline

References objMutex, and XrdSysRWLock::UnLock().

◆ unRef()

void XrdPosixObject::unRef ( )
inline

◆ Valid()

static bool XrdPosixObject::Valid ( int  fd)
inlinestatic

References baseFD, highFD, and myFiles.

◆ Who() [1/2]

virtual bool XrdPosixObject::Who ( XrdPosixDir **  dirP)
inlinevirtual

Reimplemented in XrdPosixDir.

◆ Who() [2/2]

virtual bool XrdPosixObject::Who ( XrdPosixFile **  fileP)
inlinevirtual

Reimplemented in XrdPosixFile.

Member Data Documentation

◆ baseFD

int XrdPosixObject::baseFD
staticprivate

Referenced by CanStream(), and Valid().

◆ devNull

int XrdPosixObject::devNull
staticprivate

◆ fdMutex

XrdSysMutex XrdPosixObject::fdMutex
staticprivate

◆ fdNum

int XrdPosixObject::fdNum
protected

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

◆ freeFD

int XrdPosixObject::freeFD
staticprivate

Referenced by CanStream().

◆ highFD

int XrdPosixObject::highFD
staticprivate

Referenced by Valid().

◆ lastFD

int XrdPosixObject::lastFD
staticprivate

◆ myFiles

XrdPosixObject** XrdPosixObject::myFiles
staticprivate

Referenced by Valid().

◆ objMutex

XrdSysRWLock XrdPosixObject::objMutex
protected

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

◆ posxFD

int XrdPosixObject::posxFD
staticprivate

◆ refCnt

int XrdPosixObject::refCnt
protected

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

◆ updMutex

XrdSysRecMutex XrdPosixObject::updMutex
protected

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