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


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