xrootd
Loading...
Searching...
No Matches
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 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::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, XrdPosixDir, and XrdPosixFile.

◆ Who() [2/2]

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

Reimplemented in XrdPosixDir, XrdPosixFile, and 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: