|
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 XrdBwmPolicy::SchedParms::Direction, Dispatched, EPNAME, ErrCB, ErrCBarg, XrdOucErrInfo::getErrCB(), XrdOucErrInfo::getMsgBuff(), hMutex, Idle, XrdBwmPolicy::Incomming, kXR_inProgress, kXR_InvalidRequest, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::Lfn, myEICB, Parms, Policy, qTime, refHandle(), rHandle, XrdBwmPolicy::SchedParms::RmtNode, rTime, XrdBwmPolicy::Schedule(), Scheduled, XrdOucErrInfo::setErrCB(), XrdOucErrInfo::setErrCode(), XrdOucErrInfo::setErrInfo(), SFS_DATA, SFS_ERROR, SFS_OK, SFS_STARTED, Status, and ZTRACE.
Referenced by XrdBwmFile::fctl().
| XrdBwmHandle * XrdBwmHandle::Alloc | ( | const char * | theUsr, |
| const char * | thePath, | ||
| const char * | lclNode, | ||
| const char * | rmtNode, | ||
| int | Incomming | ||
| ) | [static] |
References XrdBwmPolicy::SchedParms::Direction, Idle, XrdBwmPolicy::Incomming, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::Lfn, XrdBwmPolicy::Outgoing, Parms, qTime, XrdBwmPolicy::SchedParms::RmtNode, rTime, Status, XrdBwmPolicy::SchedParms::Tident, xSize, and xTime.
Referenced by Dispatch(), XrdBwmFile::open(), Retire(), and XrdBwm::XrdBwm().
| XrdBwmHandle * XrdBwmHandle::Alloc | ( | XrdBwmHandle * | oldHandle = 0 | ) | [static, private] |
References Free, XrdSysMutex::Lock(), Next, XrdSysMutex::UnLock(), and XrdBwmHandle().
| void * XrdBwmHandle::Dispatch | ( | ) | [static] |
References Alloc(), XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Dispatch(), Dispatched, XrdOucEICB::Done(), XrdBwmPolicy::Done(), XrdSysError::Emsg(), EPNAME, Err, ErrCB, ErrCBarg, XrdOucErrInfo::getMsgBuff(), hMutex, Idle, XrdBwmPolicy::Incomming, XrdBwmPolicy::SchedParms::LclNode, XrdBwmPolicy::SchedParms::Lfn, XrdSysMutex::Lock(), myEICB, Parms, Policy, refHandle(), XrdBwmPolicy::SchedParms::RmtNode, rTime, Scheduled, XrdOucErrInfo::setErrCB(), XrdOucErrInfo::setErrCode(), SFS_DATA, SFS_ERROR, SFS_OK, Status, XrdBwmPolicy::SchedParms::Tident, XrdSysMutex::UnLock(), XrdBwmHandle::theEICB::Wait(), and ZTRACE.
Referenced by XrdBwmHanXeq().
| const char* XrdBwmHandle::Name | ( | ) | [inline] |
References XrdBwmPolicy::SchedParms::Lfn, and Parms.
Referenced by XrdBwmFile::close(), XrdBwmFile::FName(), and XrdBwmFile::truncate().
| 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 Alloc(), XrdBwmLogger::Info::ATime, XrdBwmLogger::Info::BTime, XrdBwmLogger::Info::CTime, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Done(), XrdSysError::Emsg(), XrdBwmLogger::Info::ESec, XrdBwmLogger::Event(), XrdBwmLogger::Info::Flow, hMutex, Idle, XrdBwmPolicy::Incomming, XrdBwmPolicy::SchedParms::LclNode, XrdBwmLogger::Info::lclNode, XrdBwmLogger::Info::Lfn, XrdBwmPolicy::SchedParms::Lfn, Logger, XrdBwmLogger::Info::numqIn, XrdBwmLogger::Info::numqOut, XrdBwmLogger::Info::numqXeq, Parms, Policy, qTime, refHandle(), rHandle, XrdBwmPolicy::SchedParms::RmtNode, XrdBwmLogger::Info::rmtNode, rTime, Scheduled, XrdBwmLogger::Info::Size, XrdBwmPolicy::Status(), Status, XrdBwmLogger::Info::Tident, XrdBwmPolicy::SchedParms::Tident, xSize, and xTime.
Referenced by XrdBwmFile::close().
| int XrdBwmHandle::setPolicy | ( | XrdBwmPolicy * | pP, |
| XrdBwmLogger * | lP | ||
| ) | [static] |
References XrdSysError::Emsg(), Logger, Policy, XrdSysThread::Run(), and XrdBwmHanXeq().
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(), Name(), and Retire().
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.3