ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdProofdAdmin Class Reference

Definition at line 49 of file XrdProofdAdmin.h.

Public Member Functions

 XrdProofdAdmin (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
 Constructor. More...
 
virtual ~XrdProofdAdmin ()
 
int Config (bool rcf=0)
 Run configuration and parse the entered config directives. More...
 
int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
 Update the priorities of the active sessions. More...
 
int Process (XrdProofdProtocol *p, int type)
 Process admin request. More...
 
int QueryMssUrl (XrdProofdProtocol *p)
 Handle request for the URL to the MSS attached to the cluster. More...
 
int QuerySessions (XrdProofdProtocol *p)
 Handle request for list of sessions. More...
 
int QueryLogPaths (XrdProofdProtocol *p)
 Handle request for log paths. More...
 
int CleanupSessions (XrdProofdProtocol *p)
 Handle request of. More...
 
int SendMsgToUser (XrdProofdProtocol *p)
 Handle request for sending a message to a user. More...
 
int SetGroupProperties (XrdProofdProtocol *p)
 Handle request for setting group properties. More...
 
int GetWorkers (XrdProofdProtocol *p)
 Handle request for getting the best set of workers. More...
 
int QueryWorkers (XrdProofdProtocol *p)
 Handle request for getting the list of potential workers. More...
 
int QueryROOTVersions (XrdProofdProtocol *p)
 Handle request for list of ROOT versions. More...
 
int SetROOTVersion (XrdProofdProtocol *p)
 Handle request for changing the default ROOT version. More...
 
int SetSessionAlias (XrdProofdProtocol *p)
 Handle request for setting the session alias. More...
 
int SetSessionTag (XrdProofdProtocol *p)
 Handle request for setting the session tag. More...
 
int ReleaseWorker (XrdProofdProtocol *p)
 Handle request for releasing a worker. More...
 
int Exec (XrdProofdProtocol *p)
 Handle request of cleaning parts of the sandbox. More...
 
int GetFile (XrdProofdProtocol *p)
 Handle request for sending a file. More...
 
int PutFile (XrdProofdProtocol *p)
 Handle request for recieving a file. More...
 
int CpFile (XrdProofdProtocol *p)
 Handle request for copy files from / to the sandbox. More...
 
- Public Member Functions inherited from XrdProofdConfig
 XrdProofdConfig (const char *cfg=0, XrdSysError *edest=0)
 Main constructor. More...
 
virtual ~XrdProofdConfig ()
 
void SetCfgEDest (const char *cfg, XrdSysError *edest)
 Set config file and error handler. More...
 
const char * CfgFile () const
 

Private Member Functions

void RegisterDirectives ()
 Register directives for configuration. More...
 
int DoDirectiveExportPath (char *, XrdOucStream *, bool)
 Process 'exportpath' directives eg: xpd.exportpath /tmp/data /data2/data. More...
 
int DoDirectiveCpCmd (char *, XrdOucStream *, bool)
 Process 'cpcmd' directives eg: xpd.cpcmd alien aliencp fmt:"%s %s" put:0. More...
 
int CheckForbiddenChars (const char *s)
 Check is 's' contains any of the forbidden chars '(){};' Return 0 if OK (no forbidden chars), -1 in not OK. More...
 
int CheckPath (bool superuser, const char *sbdir, XrdOucString &fullpath, int check, bool &sandbox, struct stat *st, XrdOucString &emsg)
 Handle request for sending a file. More...
 
int ExecCmd (XrdProofdProtocol *p, XrdProofdResponse *r, int action, const char *cmd, XrdOucString &emsg)
 Low-level execution handler. More...
 
int Send (XrdProofdResponse *r, const char *msg)
 

Private Attributes

XrdProofdManagerfMgr
 
std::list< XrdOucString > fExportPaths
 
XrdOucHash< XpdAdminCpCmdfAllowedCpCmds
 
XrdOucString fCpCmds
 

Additional Inherited Members

- Protected Member Functions inherited from XrdProofdConfig
int ParseFile (bool rcf=false)
 Parse config file for the registered directives. More...
 
bool ReadFile (bool update=true)
 Return true if the file has never been read or did change since last reading, false otherwise. More...
 
void Register (const char *dname, XrdProofdDirective *d)
 
- Protected Attributes inherited from XrdProofdConfig
XrdSysErrorfEDest
 

#include <XrdProofdAdmin.h>

Inheritance diagram for XrdProofdAdmin:
[legend]

Constructor & Destructor Documentation

XrdProofdAdmin::XrdProofdAdmin ( XrdProofdManager mgr,
XrdProtocol_Config *  pi,
XrdSysError e 
)

Constructor.

Definition at line 73 of file XrdProofdAdmin.cxx.

virtual XrdProofdAdmin::~XrdProofdAdmin ( )
inlinevirtual

Definition at line 69 of file XrdProofdAdmin.h.

Member Function Documentation

int XrdProofdAdmin::CheckForbiddenChars ( const char *  s)
private

Check is 's' contains any of the forbidden chars '(){};' Return 0 if OK (no forbidden chars), -1 in not OK.

Definition at line 1179 of file XrdProofdAdmin.cxx.

Referenced by Exec().

int XrdProofdAdmin::CheckPath ( bool  superuser,
const char *  sbdir,
XrdOucString &  fullpath,
int  check,
bool &  sandbox,
struct stat *  st,
XrdOucString &  emsg 
)
private

Handle request for sending a file.

Definition at line 1722 of file XrdProofdAdmin.cxx.

Referenced by CpFile(), Exec(), GetFile(), and PutFile().

int XrdProofdAdmin::CleanupSessions ( XrdProofdProtocol p)

Handle request of.

Definition at line 936 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::Config ( bool  rcf = 0)
virtual

Run configuration and parse the entered config directives.

Return 0 on success, -1 on error

Reimplemented from XrdProofdConfig.

Definition at line 172 of file XrdProofdAdmin.cxx.

Referenced by XrdProofdManager::Config().

int XrdProofdAdmin::CpFile ( XrdProofdProtocol p)

Handle request for copy files from / to the sandbox.

Definition at line 2245 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::DoDirective ( XrdProofdDirective d,
char *  val,
XrdOucStream *  cfg,
bool  rcf 
)
virtual

Update the priorities of the active sessions.

Reimplemented from XrdProofdConfig.

Definition at line 202 of file XrdProofdAdmin.cxx.

int XrdProofdAdmin::DoDirectiveCpCmd ( char *  val,
XrdOucStream *  cfg,
bool   
)
private

Process 'cpcmd' directives eg: xpd.cpcmd alien aliencp fmt:"%s %s" put:0.

Definition at line 251 of file XrdProofdAdmin.cxx.

Referenced by DoDirective().

int XrdProofdAdmin::DoDirectiveExportPath ( char *  val,
XrdOucStream *  cfg,
bool   
)
private

Process 'exportpath' directives eg: xpd.exportpath /tmp/data /data2/data.

Definition at line 224 of file XrdProofdAdmin.cxx.

Referenced by DoDirective().

int XrdProofdAdmin::Exec ( XrdProofdProtocol p)

Handle request of cleaning parts of the sandbox.

Definition at line 1198 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::ExecCmd ( XrdProofdProtocol p,
XrdProofdResponse r,
int  action,
const char *  cmd,
XrdOucString &  emsg 
)
private

Low-level execution handler.

The commands must be executed in user space. We do that by forking and logging as user in the forked instance. The parent will just send over te messages received from the user-child via the pipe. Return 0 on success, -1 on error

Definition at line 1500 of file XrdProofdAdmin.cxx.

Referenced by Exec().

int XrdProofdAdmin::GetFile ( XrdProofdProtocol p)

Handle request for sending a file.

Definition at line 1786 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::GetWorkers ( XrdProofdProtocol p)

Handle request for getting the best set of workers.

Definition at line 490 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::Process ( XrdProofdProtocol p,
int  type 
)

Process admin request.

Definition at line 109 of file XrdProofdAdmin.cxx.

Referenced by XrdProofdManager::Process().

int XrdProofdAdmin::PutFile ( XrdProofdProtocol p)

Handle request for recieving a file.

Definition at line 1997 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::QueryLogPaths ( XrdProofdProtocol p)

Handle request for log paths.

Definition at line 719 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::QueryMssUrl ( XrdProofdProtocol p)

Handle request for the URL to the MSS attached to the cluster.

The reply contains also the namespace, i.e. proto://host:port//namespace

Definition at line 312 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::QueryROOTVersions ( XrdProofdProtocol p)

Handle request for list of ROOT versions.

Definition at line 335 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::QuerySessions ( XrdProofdProtocol p)

Handle request for list of sessions.

Definition at line 689 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::QueryWorkers ( XrdProofdProtocol p)

Handle request for getting the list of potential workers.

Definition at line 464 of file XrdProofdAdmin.cxx.

Referenced by Process().

void XrdProofdAdmin::RegisterDirectives ( )
privatevirtual

Register directives for configuration.

Reimplemented from XrdProofdConfig.

Definition at line 100 of file XrdProofdAdmin.cxx.

Referenced by XrdProofdAdmin().

int XrdProofdAdmin::ReleaseWorker ( XrdProofdProtocol p)

Handle request for releasing a worker.

Definition at line 1139 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::Send ( XrdProofdResponse r,
const char *  msg 
)
private
int XrdProofdAdmin::SendMsgToUser ( XrdProofdProtocol p)

Handle request for sending a message to a user.

Definition at line 601 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::SetGroupProperties ( XrdProofdProtocol p)

Handle request for setting group properties.

Definition at line 546 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::SetROOTVersion ( XrdProofdProtocol p)

Handle request for changing the default ROOT version.

Definition at line 356 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::SetSessionAlias ( XrdProofdProtocol p)

Handle request for setting the session alias.

Definition at line 1056 of file XrdProofdAdmin.cxx.

Referenced by Process().

int XrdProofdAdmin::SetSessionTag ( XrdProofdProtocol p)

Handle request for setting the session tag.

Definition at line 1098 of file XrdProofdAdmin.cxx.

Referenced by Process().

Member Data Documentation

XrdOucHash<XpdAdminCpCmd> XrdProofdAdmin::fAllowedCpCmds
private

Definition at line 53 of file XrdProofdAdmin.h.

Referenced by CpFile(), DoDirectiveCpCmd(), and XrdProofdAdmin().

XrdOucString XrdProofdAdmin::fCpCmds
private

Definition at line 54 of file XrdProofdAdmin.h.

Referenced by Config(), DoDirectiveCpCmd(), and XrdProofdAdmin().

std::list<XrdOucString> XrdProofdAdmin::fExportPaths
private

Definition at line 52 of file XrdProofdAdmin.h.

Referenced by CheckPath(), Config(), DoDirectiveExportPath(), and XrdProofdAdmin().

XrdProofdManager* XrdProofdAdmin::fMgr
private
Collaboration diagram for XrdProofdAdmin:
[legend]

The documentation for this class was generated from the following files: