#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().
1.5.1