|
xrootd
|
#include <XrdBwmHandle.hh>

Classes | |
| class | theEICB |
Public Types | |
| enum | HandleState { Idle = 0, Scheduled, Dispatched } |
Public Member Functions | |
| int | Activate (XrdOucErrInfo &einfo) |
| const char * | Name () |
| void | Retire () |
| XrdBwmHandle () | |
| ~XrdBwmHandle () | |
Static Public Member Functions | |
| static XrdBwmHandle * | Alloc (const char *theUsr, const char *thePath, const char *lclNode, const char *rmtNode, int Incomming) |
| static void * | Dispatch () |
| static int | setPolicy (XrdBwmPolicy *pP, XrdBwmLogger *lP) |
Public Attributes | |
| HandleState | Status |
Static Private Member Functions | |
| static XrdBwmHandle * | Alloc (XrdBwmHandle *oldHandle=0) |
| static XrdBwmHandle * | refHandle (int refID, XrdBwmHandle *hP=0) |
Private Attributes | |
| XrdSysMutex | hMutex |
| XrdBwmPolicy::SchedParms | Parms |
| XrdBwmHandle * | Next |
| XrdOucEICB * | ErrCB |
| unsigned long long | ErrCBarg |
| time_t | qTime |
| time_t | rTime |
| long long | xSize |
| long | xTime |
| int | rHandle |
| XrdBwmHandle::theEICB | myEICB |
Static Private Attributes | |
| static XrdBwmPolicy * | Policy = 0 |
| static XrdBwmLogger * | Logger = 0 |
| static XrdBwmHandle * | Free = 0 |
| static unsigned int | numQueued = 0 |
| XrdBwmHandle::XrdBwmHandle | ( | ) | [inline] |
Referenced by Alloc().
| XrdBwmHandle::~XrdBwmHandle | ( | ) | [inline] |
| int XrdBwmHandle::Activate | ( | XrdOucErrInfo & | einfo | ) |
References EPNAME, hMutex, Status, Idle, Scheduled, XrdOucErrInfo::setErrInfo(), kXR_inProgress, kXR_InvalidRequest, SFS_ERROR, qTime, XrdOucErrInfo::getMsgBuff(), Policy, XrdBwmPolicy::Schedule(), Parms, rHandle, Dispatched, rTime, ZTRACE, XrdBwmPolicy::SchedParms::Lfn, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Incomming, XrdBwmPolicy::SchedParms::RmtNode, XrdOucErrInfo::setErrCode(), SFS_DATA, SFS_OK, ErrCB, XrdOucErrInfo::getErrCB(), ErrCBarg, XrdOucErrInfo::setErrCB(), myEICB, refHandle(), and SFS_STARTED.
Referenced by XrdBwmFile::fctl().
| XrdBwmHandle * XrdBwmHandle::Alloc | ( | const char * | theUsr, |
| const char * | thePath, | ||
| const char * | lclNode, | ||
| const char * | rmtNode, | ||
| int | Incomming | ||
| ) | [static] |
References Parms, XrdBwmPolicy::SchedParms::Tident, XrdBwmPolicy::SchedParms::Lfn, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::RmtNode, XrdBwmPolicy::SchedParms::Direction, Status, Idle, qTime, rTime, xSize, and xTime.
Referenced by XrdBwm::XrdBwm(), XrdBwmFile::open(), Dispatch(), and Retire().
| XrdBwmHandle * XrdBwmHandle::Alloc | ( | XrdBwmHandle * | oldHandle = 0 | ) | [static, private] |
References XrdBwmHandle(), XrdSysMutex::Lock(), Next, Free, and XrdSysMutex::UnLock().
| void * XrdBwmHandle::Dispatch | ( | ) | [static] |
References EPNAME, Alloc(), Err, XrdOucErrInfo::getMsgBuff(), XrdOucErrInfo::setErrCode(), Policy, XrdBwmPolicy::Dispatch(), refHandle(), XrdSysError::Emsg(), XrdBwmPolicy::Done(), hMutex, XrdSysMutex::Lock(), Status, Scheduled, Parms, XrdBwmPolicy::SchedParms::Tident, XrdBwmPolicy::SchedParms::Lfn, myEICB, XrdBwmHandle::theEICB::Wait(), rTime, XrdOucErrInfo::setErrCB(), ErrCBarg, Idle, SFS_ERROR, Dispatched, SFS_DATA, SFS_OK, ZTRACE, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Incomming, XrdBwmPolicy::SchedParms::RmtNode, ErrCB, XrdOucEICB::Done(), and XrdSysMutex::UnLock().
Referenced by XrdBwmHanXeq().
| const char* XrdBwmHandle::Name | ( | ) | [inline] |
References Parms, and XrdBwmPolicy::SchedParms::Lfn.
Referenced by XrdBwmFile::close(), XrdBwmFile::truncate(), and XrdBwmFile::FName().
| XrdBwmHandle * XrdBwmHandle::refHandle | ( | int | refID, |
| XrdBwmHandle * | hP = 0 |
||
| ) | [static, private] |
References XrdSysMutex::Lock(), Next, numQueued, rHandle, and XrdSysMutex::UnLock().
Referenced by Activate(), Dispatch(), and Retire().
| void XrdBwmHandle::Retire | ( | ) |
References hMutex, Status, Idle, Policy, XrdBwmPolicy::Done(), rHandle, Scheduled, refHandle(), XrdSysError::Emsg(), Parms, XrdBwmPolicy::SchedParms::Tident, XrdBwmPolicy::SchedParms::Lfn, Logger, qTime, Info, XrdBwmLogger::Info::Tident, XrdBwmLogger::Info::Lfn, XrdBwmLogger::Info::lclNode, XrdBwmPolicy::SchedParms::LclNode, XrdBwmLogger::Info::rmtNode, XrdBwmPolicy::SchedParms::RmtNode, XrdBwmLogger::Info::ATime, XrdBwmLogger::Info::BTime, rTime, XrdBwmLogger::Info::CTime, XrdBwmLogger::Info::Size, xSize, XrdBwmLogger::Info::ESec, xTime, XrdBwmLogger::Info::Flow, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Status(), XrdBwmLogger::Info::numqIn, XrdBwmLogger::Info::numqOut, XrdBwmLogger::Info::numqXeq, XrdBwmLogger::Event(), and Alloc().
Referenced by XrdBwmFile::close().
| int XrdBwmHandle::setPolicy | ( | XrdBwmPolicy * | pP, |
| XrdBwmLogger * | lP | ||
| ) | [static] |
References Policy, XrdSysThread::Run(), XrdBwmHanXeq(), XrdSysError::Emsg(), and Logger.
Referenced by XrdBwm::Configure().
XrdOucEICB* XrdBwmHandle::ErrCB [private] |
Referenced by Activate(), and Dispatch().
unsigned long long XrdBwmHandle::ErrCBarg [private] |
Referenced by Activate(), and Dispatch().
XrdBwmHandle * XrdBwmHandle::Free = 0 [static, private] |
Referenced by Alloc().
XrdSysMutex XrdBwmHandle::hMutex [private] |
Referenced by Activate(), Dispatch(), and Retire().
XrdBwmLogger * XrdBwmHandle::Logger = 0 [static, private] |
Referenced by Retire(), and setPolicy().
XrdBwmHandle::theEICB XrdBwmHandle::myEICB [private] |
Referenced by Activate(), and Dispatch().
XrdBwmHandle* XrdBwmHandle::Next [private] |
Referenced by Alloc(), and refHandle().
unsigned int XrdBwmHandle::numQueued = 0 [static, private] |
Referenced by refHandle().
XrdBwmPolicy::SchedParms XrdBwmHandle::Parms [private] |
Referenced by Activate(), Alloc(), Dispatch(), Retire(), and Name().
XrdBwmPolicy * XrdBwmHandle::Policy = 0 [static, private] |
Referenced by Activate(), Dispatch(), Retire(), and setPolicy().
time_t XrdBwmHandle::qTime [private] |
Referenced by Activate(), Alloc(), and Retire().
int XrdBwmHandle::rHandle [private] |
Referenced by Activate(), refHandle(), and Retire().
time_t XrdBwmHandle::rTime [private] |
Referenced by Activate(), Alloc(), Dispatch(), and Retire().
Referenced by Activate(), Alloc(), Dispatch(), and Retire().
long long XrdBwmHandle::xSize [private] |
long XrdBwmHandle::xTime [private] |
1.7.5