xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdCmsFinderTRG Class Reference

#include <XrdCmsFinder.hh>

Inheritance diagram for XrdCmsFinderTRG:
Inheritance graph
[legend]
Collaboration diagram for XrdCmsFinderTRG:
Collaboration graph
[legend]

Public Member Functions

void Added (const char *path, int Pend=0)
 
int Configure (const char *cfn, char *Args, XrdOucEnv *EnvInfo)
 
int Locate (XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *Info=0)
 
int Prepare (XrdOucErrInfo &Resp, XrdSfsPrep &pargs, XrdOucEnv *Info=0)
 
void Removed (const char *path)
 
int RunAdmin (char *Path)
 
int Space (XrdOucErrInfo &Resp, const char *path, XrdOucEnv *envP=0)
 
void * Start ()
 
 XrdCmsFinderTRG (XrdSysLogger *, int, int, XrdOss *theSS=0)
 
 ~XrdCmsFinderTRG ()
 
- Public Member Functions inherited from XrdCmsClient
virtual int Forward (XrdOucErrInfo &Resp, const char *cmd, const char *arg1=0, const char *arg2=0, XrdOucEnv *Env1=0, XrdOucEnv *Env2=0)
 
virtual int isRemote ()
 
virtual XrdOucTListManagers ()
 
virtual void Resume (int Perm=1)
 
virtual void Suspend (int Perm=1)
 
virtual int Resource (int n)
 
virtual int Reserve (int n=1)
 
virtual int Release (int n=1)
 
 XrdCmsClient (Persona acting)
 
virtual ~XrdCmsClient ()
 Destructor. More...
 

Static Public Member Functions

static bool VCheck (XrdVersionInfo &urVersion)
 

Private Member Functions

void Hookup ()
 
int Process (XrdCmsRRData &Data)
 

Private Attributes

XrdOssSS
 
XrdOucStreamCMSp
 
XrdSysMutex myData
 
int myPort
 
char * CMSPath
 
char * Login
 
int isRedir
 
int isProxy
 
int Active
 

Additional Inherited Members

- Public Types inherited from XrdCmsClient
enum  Persona { amLocal, amRemote, amTarget }
 
- Protected Attributes inherited from XrdCmsClient
Persona myPersona
 

Constructor & Destructor Documentation

XrdCmsFinderTRG::XrdCmsFinderTRG ( XrdSysLogger lp,
int  whoami,
int  port,
XrdOss theSS = 0 
)
XrdCmsFinderTRG::~XrdCmsFinderTRG ( )

References CMSp, and Login.

Member Function Documentation

void XrdCmsFinderTRG::Added ( const char *  path,
int  Pend = 0 
)
virtual

Notify the cms of a newly added file or a file whose state has changed on a data server node.

Parameters
pathThe logical file name.
PendWhen true, the file is scheduled to be present in the future (e.g. copied in).

Reimplemented from XrdCmsClient.

References Active, XrdOucStream::Close(), CMSp, XrdSysMutex::Lock(), myData, XrdOucStream::Put(), and XrdSysMutex::UnLock().

int XrdCmsFinderTRG::Configure ( const char *  cfn,
char *  Parms,
XrdOucEnv EnvInfo 
)
virtual

Configure the client object.

Parameters
cfnThe configuration file name.
ParmsAny parameters specified in the cmslib directive. If none, the pointer may be null.
EnvInfoEnvironmental information of the caller.
Returns
Success !0 Failure =0

Implements XrdCmsClient.

References XrdCmsClientConfig::CMSPath, XrdCmsClientConfig::configNorm, XrdCmsClientConfig::configServer, XrdCmsClientConfig::configSuper, XrdCmsClientConfig::Configure(), isRedir, and RunAdmin().

void XrdCmsFinderTRG::Hookup ( )
private
int XrdCmsFinderTRG::Locate ( XrdOucErrInfo Resp,
const char *  path,
int  flags,
XrdOucEnv Info = 0 
)
inlinevirtual

Retrieve file location information.

Parameters
RespObject where message or response is to be returned.
pathThe logical path whise location is wanted.
flagsOne or more of the following:
     SFS_O_LOCATE  - return the list of servers that have the file.
                     Otherwise, redirect to the best server for the file.
     SFS_O_NOWAIT  - w/ SFS_O_LOCATE return readily available info.
                     Otherwise, select online files only.
     SFS_O_CREAT   - file will be created.
     SFS_O_NOWAIT  - select server if file is online.
     SFS_O_REPLICA - a replica of the file will be made.
     SFS_O_STAT    - only stat() information wanted.
     SFS_O_TRUNC   - file will be truncated.

     For any the the above, additional flags are passed:
     SFS_O_META    - data will not change (inode operation only)
     SFS_O_RESET   - reset cached info and recaculate the location(s).
     SFS_O_WRONLY  - file will be only written    (o/w RDWR   or RDONLY).
     SFS_O_RDWR    - file may be read and written (o/w WRONLY or RDONLY).
InfoAssociated environmental information for arg2 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).
Returns
As explained under "return conventions".

Implements XrdCmsClient.

int XrdCmsFinderTRG::Prepare ( XrdOucErrInfo Resp,
XrdSfsPrep pargs,
XrdOucEnv Info = 0 
)
inlinevirtual

Start the preparation of a file for future processing.

Parameters
RespObject where message or response is to be returned.
pargsInformation on which and how to prepare the file.
InfoAssociated environmental information.
Returns
As explained under "return conventions".

Reimplemented from XrdCmsClient.

int XrdCmsFinderTRG::Process ( XrdCmsRRData Data)
private
void XrdCmsFinderTRG::Removed ( const char *  path)
virtual

Notify the cmsd that a file or directory has been deleted. It is only called called on a data server node.

Parameters
pathThe logical file name that was removed.

Reimplemented from XrdCmsClient.

References Active, XrdOucStream::Close(), CMSp, XrdSysMutex::Lock(), myData, XrdOucStream::Put(), and XrdSysMutex::UnLock().

int XrdCmsFinderTRG::RunAdmin ( char *  Path)
int XrdCmsFinderTRG::Space ( XrdOucErrInfo Resp,
const char *  path,
XrdOucEnv Info = 0 
)
inlinevirtual

Obtain the overall space usage of a cluster. Called only on manager nodes.

Parameters
RespObject to hold response or error message.
pathAssociated logical path for the space request.
InfoAssociated cgi information for path.
Returns
Space information as defined by the response to kYR_statfs. For a typical implementation see XrdCmsNode::do_StatFS().

Implements XrdCmsClient.

void * XrdCmsFinderTRG::Start ( )
bool XrdCmsFinderTRG::VCheck ( XrdVersionInfo urVersion)
static

References XrdSysPlugin::VerCmp().

Referenced by XrdOfs::ConfigRedir().

Member Data Documentation

int XrdCmsFinderTRG::Active
private
XrdOucStream* XrdCmsFinderTRG::CMSp
private
char* XrdCmsFinderTRG::CMSPath
private
int XrdCmsFinderTRG::isProxy
private

Referenced by XrdCmsFinderTRG().

int XrdCmsFinderTRG::isRedir
private

Referenced by Configure(), and XrdCmsFinderTRG().

char* XrdCmsFinderTRG::Login
private
XrdSysMutex XrdCmsFinderTRG::myData
private

Referenced by Added(), Hookup(), Removed(), and Start().

int XrdCmsFinderTRG::myPort
private

Referenced by XrdCmsFinderTRG().

XrdOss* XrdCmsFinderTRG::SS
private

Referenced by Process(), and XrdCmsFinderTRG().


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