xrootd
|
#include <XrdBwmPolicy1.hh>
Classes | |
struct | refReq |
class | refSch |
Public Types | |
enum | Flow { In = 0, Out = 1, Xeq = 2, IOX = 3 } |
Public Member Functions | |
int | Dispatch (char *RespBuff, int RespSize) |
int | Done (int rHandle) |
int | Schedule (char *RespBuff, int RespSize, SchedParms &Parms) |
void | Status (int &numqIn, int &numqOut, int &numXeq) |
XrdBwmPolicy1 (int inslots, int outslots) | |
~XrdBwmPolicy1 () | |
Private Attributes | |
class XrdBwmPolicy1::refSch | theQ [IOX] |
XrdSysSemaphore | pSem |
XrdSysMutex | pMutex |
int | refID |
enum XrdBwmPolicy1::Flow |
Reimplemented from XrdBwmPolicy.
XrdBwmPolicy1::XrdBwmPolicy1 | ( | int | inslots, |
int | outslots | ||
) |
References XrdBwmPolicy1::refSch::curSlots, In, XrdBwmPolicy1::refSch::maxSlots, Out, refID, theQ, and Xeq.
XrdBwmPolicy1::~XrdBwmPolicy1 | ( | ) | [inline] |
int XrdBwmPolicy1::Dispatch | ( | char * | RespBuff, |
int | RespSize | ||
) | [virtual] |
Implements XrdBwmPolicy.
References XrdBwmPolicy1::refSch::Add(), In, XrdSysMutex::Lock(), Out, pMutex, pSem, refID, XrdBwmPolicy1::refReq::refID, theQ, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and Xeq.
int XrdBwmPolicy1::Done | ( | int | rHandle | ) | [virtual] |
Implements XrdBwmPolicy.
References XrdBwmPolicy1::refSch::curSlots, In, XrdSysMutex::Lock(), Out, pMutex, XrdSysSemaphore::Post(), pSem, theQ, XrdSysMutex::UnLock(), XrdBwmPolicy1::refReq::Way, and Xeq.
int XrdBwmPolicy1::Schedule | ( | char * | RespBuff, |
int | RespSize, | ||
SchedParms & | Parms | ||
) | [virtual] |
void XrdBwmPolicy1::Status | ( | int & | numqIn, |
int & | numqOut, | ||
int & | numXeq | ||
) | [virtual] |
Implements XrdBwmPolicy.
References In, XrdSysMutex::Lock(), XrdBwmPolicy1::refSch::Num, Out, pMutex, theQ, XrdSysMutex::UnLock(), and Xeq.
XrdSysMutex XrdBwmPolicy1::pMutex [private] |
Referenced by Dispatch(), Done(), Schedule(), and Status().
XrdSysSemaphore XrdBwmPolicy1::pSem [private] |
Referenced by Dispatch(), and Done().
int XrdBwmPolicy1::refID [private] |
Referenced by Dispatch(), Schedule(), and XrdBwmPolicy1().
class XrdBwmPolicy1::refSch XrdBwmPolicy1::theQ[IOX] [private] |
Referenced by Dispatch(), Done(), Schedule(), Status(), and XrdBwmPolicy1().