XrdCmsXmiReq Class Reference

#include <XrdCmsXmiReq.hh>

Inheritance diagram for XrdCmsXmiReq:

XrdCmsXmi List of all members.

Public Types

enum  ReqType

Public Member Functions

int Chmod (XrdCmsReq *Request, mode_t mode, const char *path, const char *opaque)
int Mkdir (XrdCmsReq *Request, mode_t mode, const char *path, const char *opaque)
int Mkpath (XrdCmsReq *Request, mode_t mode, const char *path, const char *opaque)
int Prep (const char *ReqID, int opts, const char *path, const char *opaque)
int Rename (XrdCmsReq *Request, const char *oldpath, const char *oldopaque, const char *newpath, const char *newopaque)
int Remdir (XrdCmsReq *Request, const char *path, const char *opaque)
int Remove (XrdCmsReq *Request, const char *path, const char *opaque)
int Select (XrdCmsReq *Request, int opts, const char *path, const char *opaque)
int Stat (XrdCmsReq *Request, const char *path, const char *opaque)
 XrdCmsXmiReq (XrdCmsXmi *xp)
 XrdCmsXmiReq (XrdCmsReq *reqp, ReqType rqtype, int parms, const char *path, const char *opaque, const char *path2=0, const char *opaque2=0)
virtual ~XrdCmsXmiReq ()

Static Public Member Functions

static void processPrpQ ()
static void processReqQ ()
static void processStgQ ()

Private Member Functions

void Start ()
int Qit (XrdCmsReq *rp, ReqType, int parms, const char *path, const char *opaque, const char *path2=0, const char *opaque2=0)

Private Attributes

XrdCmsXmiReq * Next
XrdCmsReq * ReqP
int Parms
ReqType Rtype
char * Path
char * Opaque
char * Path2
char * Opaque2

Static Private Attributes

static XrdCmsXmi * XmiP
static XrdSysMutex prpMutex
static XrdSysSemaphore prpReady
static XrdCmsXmiReq * prpFirst
static XrdCmsXmiReq * prpLast
static XrdSysMutex reqMutex
static XrdSysSemaphore reqReady
static XrdCmsXmiReq * reqFirst
static XrdCmsXmiReq * reqLast
static XrdSysMutex stgMutex
static XrdSysSemaphore stgReady
static XrdCmsXmiReq * stgFirst
static XrdCmsXmiReq * stgLast

Detailed Description

Definition at line 19 of file XrdCmsXmiReq.hh.


Member Enumeration Documentation

enum XrdCmsXmiReq::ReqType

Definition at line 23 of file XrdCmsXmiReq.hh.


Constructor & Destructor Documentation

XrdCmsXmiReq::XrdCmsXmiReq ( XrdCmsXmi *  xp  ) 

Definition at line 75 of file XrdCmsXmiReq.cc.

References Next, Parms, Path, ReqP, Start(), and XmiP.

Referenced by Qit().

XrdCmsXmiReq::XrdCmsXmiReq ( XrdCmsReq *  reqp,
ReqType  rqtype,
int  parms,
const char *  path,
const char *  opaque,
const char *  path2 = 0,
const char *  opaque2 = 0 
)

Definition at line 85 of file XrdCmsXmiReq.cc.

References do_prep, do_stage, XrdSysMutex::Lock(), Next, Opaque, Opaque2, Parms, Path, Path2, XrdSysSemaphore::Post(), prpFirst, prpLast, prpMutex, prpReady, reqFirst, reqLast, reqMutex, ReqP, reqReady, Rtype, stgFirst, stgLast, stgMutex, stgReady, and XrdSysMutex::UnLock().

XrdCmsXmiReq::~XrdCmsXmiReq (  )  [virtual]

Definition at line 124 of file XrdCmsXmiReq.cc.

References free(), Opaque, Opaque2, Path, Path2, and ReqP.


Member Function Documentation

int XrdCmsXmiReq::Chmod ( XrdCmsReq *  Request,
mode_t  mode,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 26 of file XrdCmsXmiReq.hh.

References do_chmod, and Qit().

int XrdCmsXmiReq::Mkdir ( XrdCmsReq *  Request,
mode_t  mode,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 32 of file XrdCmsXmiReq.hh.

References do_mkdir, and Qit().

int XrdCmsXmiReq::Mkpath ( XrdCmsReq *  Request,
mode_t  mode,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 38 of file XrdCmsXmiReq.hh.

References do_mkpath, and Qit().

int XrdCmsXmiReq::Prep ( const char *  ReqID,
int  opts,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 44 of file XrdCmsXmiReq.hh.

References do_prep, and Qit().

int XrdCmsXmiReq::Rename ( XrdCmsReq *  Request,
const char *  oldpath,
const char *  oldopaque,
const char *  newpath,
const char *  newopaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 50 of file XrdCmsXmiReq.hh.

References do_mv, and Qit().

int XrdCmsXmiReq::Remdir ( XrdCmsReq *  Request,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 58 of file XrdCmsXmiReq.hh.

References do_rmdir, and Qit().

int XrdCmsXmiReq::Remove ( XrdCmsReq *  Request,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 63 of file XrdCmsXmiReq.hh.

References do_rm, and Qit().

int XrdCmsXmiReq::Select ( XrdCmsReq *  Request,
int  opts,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 68 of file XrdCmsXmiReq.hh.

References do_stage, and Qit().

int XrdCmsXmiReq::Stat ( XrdCmsReq *  Request,
const char *  path,
const char *  opaque 
) [inline, virtual]

Implements XrdCmsXmi.

Definition at line 74 of file XrdCmsXmiReq.hh.

References do_stat, and Qit().

void XrdCmsXmiReq::processPrpQ (  )  [static]

Definition at line 137 of file XrdCmsXmiReq.cc.

References XrdSysMutex::Lock(), Next, Opaque, Parms, Path, Path2, XrdCmsXmi::Prep(), prpFirst, prpLast, prpMutex, prpReady, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.

Referenced by XrdCmsXmi_StartPrpQ().

void XrdCmsXmiReq::processReqQ (  )  [static]

Definition at line 166 of file XrdCmsXmiReq.cc.

References XrdCmsXmi::Chmod(), do_chmod, do_mkdir, do_mkpath, do_mv, do_rm, do_rmdir, do_stat, XrdSysError::Emsg(), XrdSysMutex::Lock(), XrdCmsXmi::Mkdir(), XrdCmsXmi::Mkpath(), Next, Opaque, Opaque2, Parms, Path, Path2, XrdCmsXmi::Remdir(), XrdCmsXmi::Remove(), XrdCmsXmi::Rename(), XrdCmsReq::Reply_Error(), reqFirst, reqLast, reqMutex, ReqP, reqReady, Rtype, XrdFrm::Say(), XrdCmsXmi::Stat(), XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.

Referenced by XrdCmsXmi_StartReqQ().

void XrdCmsXmiReq::processStgQ (  )  [static]

Definition at line 220 of file XrdCmsXmiReq.cc.

References XrdSysMutex::Lock(), Next, Opaque, Parms, Path, XrdCmsReq::Reply_Error(), ReqP, XrdCmsXmi::Select(), stgFirst, stgLast, stgMutex, stgReady, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.

Referenced by XrdCmsXmi_StartStgQ().

void XrdCmsXmiReq::Start (  )  [private]

Definition at line 249 of file XrdCmsXmiReq.cc.

References XrdSysError::Emsg(), XrdSysThread::Run(), XrdFrm::Say(), XrdCmsXmi_StartPrpQ(), XrdCmsXmi_StartReqQ(), XrdCmsXmi_StartStgQ(), and XRDSYSTHREAD_BIND.

Referenced by XrdCmsXmiReq().

int XrdCmsXmiReq::Qit ( XrdCmsReq *  rp,
ReqType  ,
int  parms,
const char *  path,
const char *  opaque,
const char *  path2 = 0,
const char *  opaque2 = 0 
) [private]

Definition at line 277 of file XrdCmsXmiReq.cc.

References XrdCmsReq::Reply_WaitResp(), and XrdCmsXmiReq().

Referenced by Chmod(), Mkdir(), Mkpath(), Prep(), Remdir(), Remove(), Rename(), Select(), and Stat().


Member Data Documentation

XrdCmsXmi * XrdCmsXmiReq::XmiP [static, private]

Definition at line 99 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdCmsXmiReq().

XrdSysMutex XrdCmsXmiReq::prpMutex [static, private]

Definition at line 100 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), and XrdCmsXmiReq().

XrdSysSemaphore XrdCmsXmiReq::prpReady [static, private]

Definition at line 101 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::prpFirst [static, private]

Definition at line 102 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::prpLast [static, private]

Definition at line 103 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), and XrdCmsXmiReq().

XrdSysMutex XrdCmsXmiReq::reqMutex [static, private]

Definition at line 104 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), and XrdCmsXmiReq().

XrdSysSemaphore XrdCmsXmiReq::reqReady [static, private]

Definition at line 105 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::reqFirst [static, private]

Definition at line 106 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::reqLast [static, private]

Definition at line 107 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), and XrdCmsXmiReq().

XrdSysMutex XrdCmsXmiReq::stgMutex [static, private]

Definition at line 108 of file XrdCmsXmiReq.hh.

Referenced by processStgQ(), and XrdCmsXmiReq().

XrdSysSemaphore XrdCmsXmiReq::stgReady [static, private]

Definition at line 109 of file XrdCmsXmiReq.hh.

Referenced by processStgQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::stgFirst [static, private]

Definition at line 110 of file XrdCmsXmiReq.hh.

Referenced by processStgQ(), and XrdCmsXmiReq().

XrdCmsXmiReq * XrdCmsXmiReq::stgLast [static, private]

Definition at line 111 of file XrdCmsXmiReq.hh.

Referenced by processStgQ(), and XrdCmsXmiReq().

XrdCmsXmiReq* XrdCmsXmiReq::Next [private]

Definition at line 112 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdCmsXmiReq().

XrdCmsReq* XrdCmsXmiReq::ReqP [private]

Definition at line 113 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), processStgQ(), XrdCmsXmiReq(), and ~XrdCmsXmiReq().

int XrdCmsXmiReq::Parms [private]

Definition at line 114 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdCmsXmiReq().

ReqType XrdCmsXmiReq::Rtype [private]

Definition at line 115 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), and XrdCmsXmiReq().

char* XrdCmsXmiReq::Path [private]

Definition at line 116 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), processStgQ(), XrdCmsXmiReq(), and ~XrdCmsXmiReq().

char* XrdCmsXmiReq::Opaque [private]

Definition at line 117 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), processStgQ(), XrdCmsXmiReq(), and ~XrdCmsXmiReq().

char* XrdCmsXmiReq::Path2 [private]

Definition at line 118 of file XrdCmsXmiReq.hh.

Referenced by processPrpQ(), processReqQ(), XrdCmsXmiReq(), and ~XrdCmsXmiReq().

char* XrdCmsXmiReq::Opaque2 [private]

Definition at line 119 of file XrdCmsXmiReq.hh.

Referenced by processReqQ(), XrdCmsXmiReq(), and ~XrdCmsXmiReq().


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