#include <XrdOlbXmiReq.hh>


Public Types | |
| enum | ReqType { do_chmod, do_mkdir, do_mkpath, do_mv, do_prep, do_rm, do_rmdir, do_stage, do_stat } |
Public Member Functions | |
| int | Chmod (XrdOlbReq *Request, const char *path, mode_t mode) |
| int | Mkdir (XrdOlbReq *Request, const char *path, mode_t mode) |
| int | Mkpath (XrdOlbReq *Request, const char *path, mode_t mode) |
| int | Prep (const char *ReqID, const char *path, int opts) |
| int | Rename (XrdOlbReq *Request, const char *oldpath, const char *newpath) |
| int | Remdir (XrdOlbReq *Request, const char *path) |
| int | Remove (XrdOlbReq *Request, const char *path) |
| int | Select (XrdOlbReq *Request, const char *path, int opts) |
| int | Stat (XrdOlbReq *Request, const char *path) |
| XrdOlbXmiReq (XrdOlbXmi *xp) | |
| XrdOlbXmiReq (XrdOlbReq *reqp, ReqType rqtype, const char *path, int parms) | |
| virtual | ~XrdOlbXmiReq () |
Static Public Member Functions | |
| static void | processPrpQ () |
| static void | processReqQ () |
| static void | processStgQ () |
Private Member Functions | |
| void | Start () |
| int | Qit (XrdOlbReq *rp, ReqType, const char *path, int parms) |
Private Attributes | |
| XrdOlbXmiReq * | Next |
| XrdOlbReq * | ReqP |
| char * | Path |
| int | Parms |
| ReqType | Rtype |
Static Private Attributes | |
| static XrdOlbXmi * | XmiP |
| static XrdSysMutex | prpMutex |
| static XrdSysSemaphore | prpReady |
| static XrdOlbXmiReq * | prpFirst = 0 |
| static XrdOlbXmiReq * | prpLast = 0 |
| static XrdSysMutex | reqMutex |
| static XrdSysSemaphore | reqReady |
| static XrdOlbXmiReq * | reqFirst = 0 |
| static XrdOlbXmiReq * | reqLast = 0 |
| static XrdSysMutex | stgMutex |
| static XrdSysSemaphore | stgReady |
| static XrdOlbXmiReq * | stgFirst = 0 |
| static XrdOlbXmiReq * | stgLast = 0 |
| XrdOlbXmiReq::XrdOlbXmiReq | ( | XrdOlbXmi * | xp | ) |
| int XrdOlbXmiReq::Prep | ( | const char * | ReqID, | |
| const char * | path, | |||
| int | opts | |||
| ) | [virtual] |
| void XrdOlbXmiReq::processPrpQ | ( | ) | [static] |
References index(), XrdSysMutex::Lock(), Next, Parms, Path, XrdOlbXmi::Prep(), stgFirst, stgLast, stgMutex, stgReady, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.
| void XrdOlbXmiReq::processReqQ | ( | ) | [static] |
References XrdOlbXmi::Chmod(), do_chmod, do_mkdir, do_mkpath, do_mv, do_rm, do_rmdir, do_stat, index(), XrdSysMutex::Lock(), XrdOlbXmi::Mkdir(), XrdOlbXmi::Mkpath(), Next, Parms, Path, XrdOlbXmi::Remdir(), XrdOlbXmi::Remove(), XrdOlbXmi::Rename(), XrdOlbReq::Reply_Error(), reqFirst, reqLast, reqMutex, ReqP, reqReady, Rtype, Say, XrdOlbXmi::Stat(), XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.
Referenced by XrdOlbXmi_StartReqQ().
| void XrdOlbXmiReq::processStgQ | ( | ) | [static] |
References XrdSysMutex::Lock(), Next, Parms, Path, XrdOlbReq::Reply_Error(), ReqP, XrdOlbXmi::Select(), stgFirst, stgLast, stgMutex, stgReady, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), and XmiP.
Referenced by XrdOlbXmi_StartStgQ().
| int XrdOlbXmiReq::Remdir | ( | XrdOlbReq * | Request, | |
| const char * | path | |||
| ) | [inline, virtual] |
| int XrdOlbXmiReq::Remove | ( | XrdOlbReq * | Request, | |
| const char * | path | |||
| ) | [inline, virtual] |
| int XrdOlbXmiReq::Rename | ( | XrdOlbReq * | Request, | |
| const char * | oldpath, | |||
| const char * | newpath | |||
| ) | [virtual] |
Implements XrdOlbXmi.
References do_mv, Qit(), and XrdOlbReq::Reply_Error().
| int XrdOlbXmiReq::Select | ( | XrdOlbReq * | Request, | |
| const char * | path, | |||
| int | opts | |||
| ) | [inline, virtual] |
| void XrdOlbXmiReq::Start | ( | ) | [private] |
References XrdSysThread::Run(), Say, XrdOlbXmi_StartPrpQ(), XrdOlbXmi_StartReqQ(), XrdOlbXmi_StartStgQ(), and XRDSYSTHREAD_BIND.
Referenced by XrdOlbXmiReq().
| int XrdOlbXmiReq::Stat | ( | XrdOlbReq * | Request, | |
| const char * | path | |||
| ) | [inline, virtual] |
XrdOlbXmiReq* XrdOlbXmiReq::Next [private] |
Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdOlbXmiReq().
int XrdOlbXmiReq::Parms [private] |
Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdOlbXmiReq().
char* XrdOlbXmiReq::Path [private] |
Referenced by processPrpQ(), processReqQ(), processStgQ(), XrdOlbXmiReq(), and ~XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::prpFirst = 0 [static, private] |
Referenced by XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::prpLast = 0 [static, private] |
Referenced by XrdOlbXmiReq().
XrdSysMutex XrdOlbXmiReq::prpMutex [static, private] |
Referenced by XrdOlbXmiReq().
XrdSysSemaphore XrdOlbXmiReq::prpReady [static, private] |
Referenced by XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::reqFirst = 0 [static, private] |
Referenced by processReqQ(), and XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::reqLast = 0 [static, private] |
Referenced by processReqQ(), and XrdOlbXmiReq().
XrdSysMutex XrdOlbXmiReq::reqMutex [static, private] |
Referenced by processReqQ(), and XrdOlbXmiReq().
XrdOlbReq* XrdOlbXmiReq::ReqP [private] |
Referenced by processReqQ(), processStgQ(), XrdOlbXmiReq(), and ~XrdOlbXmiReq().
XrdSysSemaphore XrdOlbXmiReq::reqReady [static, private] |
Referenced by processReqQ(), and XrdOlbXmiReq().
ReqType XrdOlbXmiReq::Rtype [private] |
Referenced by processReqQ(), and XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::stgFirst = 0 [static, private] |
Referenced by processPrpQ(), processStgQ(), and XrdOlbXmiReq().
XrdOlbXmiReq * XrdOlbXmiReq::stgLast = 0 [static, private] |
Referenced by processPrpQ(), processStgQ(), and XrdOlbXmiReq().
XrdSysMutex XrdOlbXmiReq::stgMutex [static, private] |
Referenced by processPrpQ(), processStgQ(), and XrdOlbXmiReq().
XrdSysSemaphore XrdOlbXmiReq::stgReady [static, private] |
Referenced by processPrpQ(), processStgQ(), and XrdOlbXmiReq().
XrdOlbXmi * XrdOlbXmiReq::XmiP [static, private] |
Referenced by processPrpQ(), processReqQ(), processStgQ(), and XrdOlbXmiReq().
1.7.1