|
xrootd
|
#include <XrdOfsHandle.hh>

Public Member Functions | |
| void | Activate (XrdOssDF *ssP) |
| int | Inactive () |
| const char * | Name () |
| int | PoscGet (short &Mode, int Done=0) |
| int | PoscSet (const char *User, int Unum, short Mode) |
| const char * | PoscUsr () |
| int | Retire (long long *retsz=0, char *buff=0, int blen=0) |
| int | Retire (XrdOfsHanCB *, int DSec) |
| XrdOssDF & | Select (void) |
| int | Usage () |
| void | Lock () |
| void | UnLock () |
| XrdOfsHandle () | |
| ~XrdOfsHandle () | |
Static Public Member Functions | |
| static int | Alloc (const char *thePath, int Opts, XrdOfsHandle **Handle) |
| static int | Alloc (XrdOfsHandle **Handle) |
| static void | Hide (const char *thePath) |
| static int | StartXpr (int Init=0) |
Public Attributes | |
| char | isPending |
| char | isChanged |
| char | isCompressed |
| char | isRW |
Static Public Attributes | |
| static const int | opRW = 1 |
| static const int | opPC = 3 |
Private Member Functions | |
| int | WaitLock (void) |
Static Private Member Functions | |
| static int | Alloc (XrdOfsHanKey, int Opts, XrdOfsHandle **Handle) |
Private Attributes | |
| XrdSysMutex | hMutex |
| XrdOssDF * | ssi |
| XrdOfsHandle * | Next |
| XrdOfsHanKey | Path |
| XrdOfsHanPsc * | Posc |
Static Private Attributes | |
| static const int | LockTries = 3 |
| static const int | LockWait = 333 |
| static const int | nolokDelay = 3 |
| static const int | nomemDelay = 15 |
| static XrdSysMutex | myMutex |
| static XrdOfsHanTab | roTable |
| static XrdOfsHanTab | rwTable |
| static XrdOssDF * | ossDF = (XrdOssDF *)new XrdOfsHanOss |
| static XrdOfsHandle * | Free = 0 |
Friends | |
| class | XrdOfsHanTab |
| class | XrdOfsHanXpr |
| XrdOfsHandle::XrdOfsHandle | ( | ) | [inline] |
Referenced by Alloc().
| XrdOfsHandle::~XrdOfsHandle | ( | ) | [inline] |
References Retire().
| int XrdOfsHandle::Alloc | ( | const char * | thePath, |
| int | Opts, | ||
| XrdOfsHandle ** | Handle | ||
| ) | [static] |
References opRW, rwTable, roTable, myMutex, XrdSysMutex::Lock(), XrdOfsHanTab::Find(), Path, XrdOfsHanKey::Links, XrdSysMutex::UnLock(), WaitLock(), nolokDelay, XrdOfsHanTab::Add(), XrdOfsStats::Add(), XrdOfsStats::Data, and XrdOfsStats::StatsData::numHandles.
Referenced by XrdOfs::XrdOfs(), XrdOfsFile::open(), XrdOfs::ConfigPosc(), Alloc(), and PoscSet().
| int XrdOfsHandle::Alloc | ( | XrdOfsHandle ** | Handle | ) | [static] |
References myMutex, XrdSysMutex::Lock(), Alloc(), and XrdSysMutex::UnLock().
| int XrdOfsHandle::Alloc | ( | XrdOfsHanKey | theKey, |
| int | Opts, | ||
| XrdOfsHandle ** | Handle | ||
| ) | [static, private] |
References XrdOfsHandle(), Free, Next, Path, XrdOfsHanKey::Links, isChanged, isCompressed, isPending, isRW, opPC, ssi, ossDF, Posc, Lock(), and nomemDelay.
| void XrdOfsHandle::Hide | ( | const char * | thePath | ) | [static] |
References myMutex, XrdSysMutex::Lock(), roTable, XrdOfsHanTab::Find(), Path, XrdOfsHanKey::Len, rwTable, and XrdSysMutex::UnLock().
Referenced by XrdOfs::remove(), and XrdOfs::rename().
| int XrdOfsHandle::Inactive | ( | ) | [inline] |
Referenced by XrdOfsFile::close().
| void XrdOfsHandle::Lock | ( | ) | [inline] |
References hMutex, and XrdSysMutex::Lock().
Referenced by XrdOfsFile::close(), XrdOfsFile::sync(), XrdOfsFile::GenFWEvent(), XrdOfs::Emsg(), and Alloc().
| const char* XrdOfsHandle::Name | ( | ) | [inline] |
References Path, and XrdOfsHanKey::Val.
Referenced by XrdOfsFile::close(), XrdOfsFile::read(), XrdOfsFile::write(), XrdOfsFile::stat(), XrdOfsFile::GenFWEvent(), XrdOfs::Emsg(), XrdOfs::Unpersist(), and XrdOfsFile::FName().
| int XrdOfsHandle::PoscGet | ( | short & | Mode, |
| int | Done = 0 |
||
| ) |
References Posc, XrdOfsHanPsc::Unum, XrdOfsHanPsc::Mode, XrdOfsHanPsc::xprP, myMutex, XrdSysMutex::Lock(), Path, XrdOfsHanKey::Links, XrdSysMutex::UnLock(), and XrdOfsHanPsc::Recycle().
Referenced by XrdOfsFile::close(), and XrdOfs::Unpersist().
| int XrdOfsHandle::PoscSet | ( | const char * | User, |
| int | Unum, | ||
| short | Mode | ||
| ) |
References Posc, Alloc(), index(), XrdOfsHanPsc::User, XrdOfsHanPsc::Ulen, XrdOfsHanPsc::Uhst, ETXTBSY, XrdSysError::Emsg(), Path, XrdOfsHanKey::Val, XrdOfsHanPsc::Unum, and XrdOfsHanPsc::Mode.
Referenced by XrdOfs::ConfigPosc().
| const char * XrdOfsHandle::PoscUsr | ( | ) |
References Posc, and XrdOfsHanPsc::User.
Referenced by XrdOfs::Unpersist().
| int XrdOfsHandle::Retire | ( | long long * | retsz = 0, |
| char * | buff = 0, |
||
| int | blen = 0 |
||
| ) |
References myMutex, XrdSysMutex::Lock(), Path, XrdOfsHanKey::Links, strlcpy(), XrdOfsHanKey::Val, XrdOfsStats::Dec(), XrdOfsStats::Data, XrdOfsStats::StatsData::numHandles, isRW, rwTable, XrdOfsHanTab::Remove(), roTable, Next, Free, Posc, XrdOfsHanPsc::Recycle(), XrdOfsHanKey::Len, ssi, ossDF, XrdOssDF::Close(), XrdSysError::Emsg(), UnLock(), and XrdSysMutex::UnLock().
Referenced by XrdOfsFile::close(), XrdOfs::ConfigPosc(), Retire(), StartXpr(), and ~XrdOfsHandle().
| int XrdOfsHandle::Retire | ( | XrdOfsHanCB * | cbP, |
| int | DSec | ||
| ) |
| XrdOssDF& XrdOfsHandle::Select | ( | void | ) | [inline] |
References ssi.
Referenced by XrdOfsFile::close(), XrdOfsFile::fctl(), XrdOfsFile::read(), XrdOfsFile::write(), XrdOfsFile::getMmap(), XrdOfsFile::stat(), XrdOfsFile::sync(), XrdOfsFile::truncate(), and XrdOfsFile::getCXinfo().
| int XrdOfsHandle::StartXpr | ( | int | Init = 0 | ) | [static] |
References XrdSysThread::Run(), XrdOfsHanXpire(), XrdSysError::Emsg(), XrdOfsHanXpr::Get(), XrdOfsHanXpr::Handle, Posc, XrdOfsHanPsc::xprP, Path, XrdOfsHanKey::Val, UnLock(), myMutex, XrdSysMutex::Lock(), XrdOfsHanKey::Links, XrdOfsHanXpr::Call, XrdSysMutex::UnLock(), XrdOfsHanCB::Retired(), and Retire().
Referenced by XrdOfsHanXpire(), and Retire().
| void XrdOfsHandle::UnLock | ( | ) | [inline] |
References hMutex, and XrdSysMutex::UnLock().
Referenced by XrdOfsFile::sync(), XrdOfsFile::GenFWEvent(), XrdOfs::Emsg(), Retire(), and StartXpr().
| int XrdOfsHandle::Usage | ( | ) | [inline] |
References Path, and XrdOfsHanKey::Links.
Referenced by XrdOfsFile::open(), and XrdOfsFile::close().
| int XrdOfsHandle::WaitLock | ( | void | ) | [private] |
References LockTries, hMutex, XrdSysMutex::CondLock(), XrdSysTimer::Wait(), and LockWait.
Referenced by Alloc(), and XrdOfsHanXpr::Get().
friend class XrdOfsHanTab [friend] |
friend class XrdOfsHanXpr [friend] |
Referenced by Retire().
XrdOfsHandle * XrdOfsHandle::Free = 0 [static, private] |
XrdSysMutex XrdOfsHandle::hMutex [private] |
Referenced by WaitLock(), Lock(), and UnLock().
Referenced by XrdOfsFile::write(), XrdOfsFile::truncate(), XrdOfsFile::GenFWEvent(), and Alloc().
Referenced by XrdOfsFile::open(), XrdOfsFile::read(), and Alloc().
Referenced by XrdOfsFile::write(), XrdOfsFile::sync(), XrdOfsFile::truncate(), and Alloc().
| char XrdOfsHandle::isRW |
Referenced by XrdOfsFile::close(), XrdOfsFile::write(), XrdOfs::Emsg(), Alloc(), and Retire().
const int XrdOfsHandle::LockTries = 3 [static, private] |
Referenced by WaitLock().
const int XrdOfsHandle::LockWait = 333 [static, private] |
Referenced by WaitLock().
XrdSysMutex XrdOfsHandle::myMutex [static, private] |
Referenced by Alloc(), Hide(), PoscGet(), Retire(), and StartXpr().
XrdOfsHandle* XrdOfsHandle::Next [private] |
Referenced by Alloc(), Retire(), XrdOfsHanTab::Add(), XrdOfsHanTab::Expand(), XrdOfsHanTab::Find(), and XrdOfsHanTab::Remove().
const int XrdOfsHandle::nolokDelay = 3 [static, private] |
Referenced by Alloc().
const int XrdOfsHandle::nomemDelay = 15 [static, private] |
Referenced by Alloc().
const int XrdOfsHandle::opPC = 3 [static] |
Referenced by XrdOfsFile::open(), XrdOfsFile::close(), XrdOfsFile::write(), XrdOfs::Emsg(), XrdOfs::ConfigPosc(), and Alloc().
const int XrdOfsHandle::opRW = 1 [static] |
Referenced by Alloc().
XrdOssDF * XrdOfsHandle::ossDF = (XrdOssDF *)new XrdOfsHanOss [static, private] |
Referenced by Alloc(), Retire(), and Inactive().
XrdOfsHanKey XrdOfsHandle::Path [private] |
Referenced by Alloc(), Hide(), PoscGet(), PoscSet(), Retire(), StartXpr(), XrdOfsHanTab::Add(), XrdOfsHanTab::Expand(), XrdOfsHanTab::Find(), XrdOfsHanTab::Remove(), XrdOfsHanXpr::Get(), Name(), and Usage().
XrdOfsHanPsc* XrdOfsHandle::Posc [private] |
XrdOfsHanTab XrdOfsHandle::roTable [static, private] |
XrdOfsHanTab XrdOfsHandle::rwTable [static, private] |
XrdOssDF* XrdOfsHandle::ssi [private] |
Referenced by Alloc(), Retire(), Activate(), Inactive(), and Select().
1.7.5