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] |