xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
XrdCmsFinderTRG Class Reference

#include <XrdCmsFinder.hh>

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

List of all members.

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 XrdOucTList * Managers ()
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.

Static Public Member Functions

static bool VCheck (XrdVersionInfo &urVersion)

Private Member Functions

void Hookup ()
int Process (XrdCmsRRData &Data)

Private Attributes

XrdOss * SS
XrdOucStream * CMSp
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: