XrdBwmHandle Class Reference

#include <XrdBwmHandle.hh>

List of all members.

Public Types

enum  HandleState

Public Member Functions

int Activate (XrdOucErrInfo &einfo)
const char * Name ()
void Retire ()
 XrdBwmHandle ()
 ~XrdBwmHandle ()

Static Public Member Functions

static XrdBwmHandleAlloc (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 XrdBwmHandleAlloc (XrdBwmHandle *oldHandle=0)
static XrdBwmHandlerefHandle (int refID, XrdBwmHandle *hP=0)

Private Attributes

XrdSysMutex hMutex
XrdBwmPolicy::SchedParms Parms
XrdBwmHandleNext
XrdOucEICBErrCB
unsigned long long ErrCBarg
time_t qTime
time_t rTime
long long xSize
long xTime
int rHandle
XrdBwmHandle::theEICB myEICB

Static Private Attributes

static XrdBwmPolicyPolicy
static XrdBwmLoggerLogger
static XrdBwmHandleFree
static unsigned int numQueued

Classes

class  theEICB


Detailed Description

Definition at line 23 of file XrdBwmHandle.hh.


Member Enumeration Documentation

enum XrdBwmHandle::HandleState

Definition at line 27 of file XrdBwmHandle.hh.


Constructor & Destructor Documentation

XrdBwmHandle::XrdBwmHandle (  )  [inline]

Definition at line 45 of file XrdBwmHandle.hh.

XrdBwmHandle::~XrdBwmHandle (  )  [inline]

Definition at line 49 of file XrdBwmHandle.hh.


Member Function Documentation

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


Member Data Documentation

HandleState XrdBwmHandle::Status

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]

Definition at line 56 of file XrdBwmHandle.hh.

Referenced by Retire(), and setPolicy().

XrdBwmHandle * XrdBwmHandle::Free [static, private]

Definition at line 57 of file XrdBwmHandle.hh.

Referenced by Alloc().

unsigned int XrdBwmHandle::numQueued [static, private]

Definition at line 58 of file XrdBwmHandle.hh.

Referenced by refHandle().

XrdSysMutex XrdBwmHandle::hMutex [private]

Definition at line 60 of file XrdBwmHandle.hh.

Referenced by Activate(), Dispatch(), and Retire().

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]

Definition at line 62 of file XrdBwmHandle.hh.

Referenced by Alloc(), and refHandle().

XrdOucEICB* XrdBwmHandle::ErrCB [private]

Definition at line 63 of file XrdBwmHandle.hh.

Referenced by Activate(), and Dispatch().

unsigned long long XrdBwmHandle::ErrCBarg [private]

Definition at line 64 of file XrdBwmHandle.hh.

Referenced by Activate(), and Dispatch().

time_t XrdBwmHandle::qTime [private]

Definition at line 65 of file XrdBwmHandle.hh.

Referenced by Activate(), Alloc(), and Retire().

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]

Definition at line 67 of file XrdBwmHandle.hh.

Referenced by Alloc(), and Retire().

long XrdBwmHandle::xTime [private]

Definition at line 68 of file XrdBwmHandle.hh.

Referenced by Alloc(), and Retire().

int XrdBwmHandle::rHandle [private]

Definition at line 69 of file XrdBwmHandle.hh.

Referenced by Activate(), refHandle(), and Retire().

XrdBwmHandle::theEICB XrdBwmHandle::myEICB [private]

Referenced by Activate(), and Dispatch().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:10 2011 for ROOT_528-00b_version by  doxygen 1.5.1