#include <XrdBwmHandle.hh>
Public Types | |
enum | HandleState |
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 |
static XrdBwmLogger * | Logger |
static XrdBwmHandle * | Free |
static unsigned int | numQueued |
Classes | |
class | theEICB |
Definition at line 23 of file XrdBwmHandle.hh.
Definition at line 27 of file XrdBwmHandle.hh.
XrdBwmHandle::XrdBwmHandle | ( | ) | [inline] |
Definition at line 45 of file XrdBwmHandle.hh.
XrdBwmHandle::~XrdBwmHandle | ( | ) | [inline] |
Definition at line 49 of file XrdBwmHandle.hh.
int XrdBwmHandle::Activate | ( | XrdOucErrInfo & | einfo | ) |
Definition at line 95 of file XrdBwmHandle.cc.
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] |
Definition at line 152 of file XrdBwmHandle.cc.
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 XrdBwmFile::open(), Retire(), and XrdBwm::XrdBwm().
void * XrdBwmHandle::Dispatch | ( | ) | [static] |
Definition at line 209 of file XrdBwmHandle.cc.
References XrdBwmHandleCB::Alloc(), BwmEroute, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Dispatch(), Dispatched, XrdBwmPolicy::Done(), XrdOucEICB::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, sprintf(), Status, XrdBwmPolicy::SchedParms::Tident, XrdSysMutex::UnLock(), XrdBwmHandle::theEICB::Wait(), and ZTRACE.
Referenced by XrdBwmHanXeq().
const char* XrdBwmHandle::Name | ( | ) | [inline] |
Definition at line 39 of file XrdBwmHandle.hh.
References XrdBwmPolicy::SchedParms::Lfn, and Parms.
Referenced by XrdBwmFile::close(), XrdBwmFile::FName(), and XrdBwmFile::truncate().
void XrdBwmHandle::Retire | ( | ) |
Definition at line 316 of file XrdBwmHandle.cc.
References Alloc(), XrdBwmLogger::Info::ATime, XrdBwmLogger::Info::BTime, BwmEroute, XrdBwmLogger::Info::CTime, XrdBwmPolicy::SchedParms::Direction, XrdBwmPolicy::Done(), XrdSysError::Emsg(), XrdBwmLogger::Info::ESec, XrdBwmLogger::Event(), XrdBwmLogger::Info::Flow, free(), 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, XrdBwmLogger::Info::rmtNode, XrdBwmPolicy::SchedParms::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] |
Definition at line 360 of file XrdBwmHandle.cc.
References BwmEroute, XrdSysError::Emsg(), Logger, Policy, XrdSysThread::Run(), and XrdBwmHanXeq().
Referenced by XrdBwm::Configure().
XrdBwmHandle * XrdBwmHandle::Alloc | ( | XrdBwmHandle * | oldHandle = 0 |
) | [static, private] |
Definition at line 183 of file XrdBwmHandle.cc.
References Free, i, XrdSysMutex::Lock(), Next, and XrdSysMutex::UnLock().
XrdBwmHandle * XrdBwmHandle::refHandle | ( | int | refID, | |
XrdBwmHandle * | hP = 0 | |||
) | [static, private] |
Definition at line 276 of file XrdBwmHandle.cc.
References i, XrdSysMutex::Lock(), Next, numQueued, rHandle, and XrdSysMutex::UnLock().
Referenced by Activate(), Dispatch(), and Retire().
Definition at line 29 of file XrdBwmHandle.hh.
Referenced by Activate(), Alloc(), Dispatch(), and Retire().
XrdBwmPolicy * XrdBwmHandle::Policy [static, private] |
Definition at line 55 of file XrdBwmHandle.hh.
Referenced by Activate(), Dispatch(), Retire(), and setPolicy().
XrdBwmLogger * XrdBwmHandle::Logger [static, private] |
XrdBwmHandle * XrdBwmHandle::Free [static, private] |
unsigned int XrdBwmHandle::numQueued [static, private] |
XrdSysMutex XrdBwmHandle::hMutex [private] |
XrdBwmPolicy::SchedParms XrdBwmHandle::Parms [private] |
Definition at line 61 of file XrdBwmHandle.hh.
Referenced by Activate(), Alloc(), Dispatch(), Name(), and Retire().
XrdBwmHandle* XrdBwmHandle::Next [private] |
XrdOucEICB* XrdBwmHandle::ErrCB [private] |
unsigned long long XrdBwmHandle::ErrCBarg [private] |
time_t XrdBwmHandle::qTime [private] |
time_t XrdBwmHandle::rTime [private] |
Definition at line 66 of file XrdBwmHandle.hh.
Referenced by Activate(), Alloc(), Dispatch(), and Retire().
long long XrdBwmHandle::xSize [private] |
long XrdBwmHandle::xTime [private] |
int XrdBwmHandle::rHandle [private] |
XrdBwmHandle::theEICB XrdBwmHandle::myEICB [private] |
Referenced by Activate(), and Dispatch().