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)
XrdOucTListManagers ()
void Removed (const char *path)
void Resume (int Perm=1)
void Suspend (int Perm=1)
int Resource (int n)
int Reserve (int n)
int Release (int n)
int RunAdmin (char *Path, const char *vnid)
int Space (XrdOucErrInfo &Resp, const char *path, XrdOucEnv *envP=0)
void * Start ()
 XrdCmsFinderTRG (XrdSysLogger *, int, int, XrdOss *theSS=0)
 ~XrdCmsFinderTRG ()

Static Public Member Functions

static bool VCheck (XrdVersionInfo &urVersion)

Private Member Functions

void Hookup ()
int Process (XrdCmsRRData &Data)

Private Attributes

XrdOssSS
char * CMSPath
char * Login
XrdOucTListmyManList
XrdOucStreamCMSp
XrdSysMutex myData
XrdSysMutex rrMutex
int resMax
int resCur
int myPort
int isRedir
int isProxy
int Active

Constructor & Destructor Documentation

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

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:
path The logical file name.
Pend When true, the file is scheduled to be present in the future (e.g. copied in).

Reimplemented from XrdCmsClient.

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

Configure the client object.

Parameters:
cfn The configuration file name.
Parms Any parameters specified in the cmslib directive. If none, the pointer may be null.
EnvInfo Environmental information of the caller.
Returns:
Success !0 Failure =0

Implements XrdCmsClient.

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

Retrieve file location information.

Parameters:
Resp Object where message or response is to be returned.
path The logical path whise location is wanted.
flags One 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).

Parameters:
Info Associated environmental information for arg2 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).
Returns:
As explained under "return conventions".

Implements XrdCmsClient.

XrdOucTList* XrdCmsFinderTRG::Managers (  )  [inline, virtual]

Obtain the list of cmsd's being used by a manager node along with their associated index numbers, origin 1.

Returns:
The list of cmsd's being used. The list is considered permanent and is not deleted.

Reimplemented from XrdCmsClient.

References myManList.

int XrdCmsFinderTRG::Prepare ( XrdOucErrInfo Resp,
XrdSfsPrep pargs,
XrdOucEnv Info = 0 
) [inline, virtual]

Start the preparation of a file for future processing.

Parameters:
Resp Object where message or response is to be returned.
pargs Information on which and how to prepare the file.
Info Associated environmental information.
Returns:
As explained under "return conventions".

Reimplemented from XrdCmsClient.

int XrdCmsFinderTRG::Process ( XrdCmsRRData Data  )  [private]
int XrdCmsFinderTRG::Release ( int  n  )  [virtual]

Increases the amount of resource available. When transitioning from a a non-positive to a positive resource amount, perform a resume so that additional clients may be dispatched to this data server.

Parameters:
n The value to add to the resources available (default 1). The total amount is capped by the amount specified by Resource().
Returns:
The amount of resource left.

Reimplemented from XrdCmsClient.

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:
path The logical file name that was removed.

Reimplemented from XrdCmsClient.

int XrdCmsFinderTRG::Reserve ( int  n  )  [virtual]

Decreases the amount of resources available. When the available resources becomes non-positive, perform a temporary suspend to prevent additional clients from being dispatched to this data server.

Parameters:
n The value by which resources are decreased (default 1).
Returns:
The amount of resource left.

Reimplemented from XrdCmsClient.

int XrdCmsFinderTRG::Resource ( int  n  )  [virtual]

Enables the Reserve() & Release() methods.

Parameters:
n a positive integer that specifies the amount of resource units that are available. It may be reset at any time.
Returns:
The previous resource value. This first call returns 0.

Reimplemented from XrdCmsClient.

void XrdCmsFinderTRG::Resume ( int  Perm = 1  )  [virtual]

Resume service after a suspension.

Parameters:
Perm When true the resume persist across server restarts. Otherwise, it is treated as a temporary request.

Reimplemented from XrdCmsClient.

int XrdCmsFinderTRG::RunAdmin ( char *  Path,
const char *  vnid 
)
int XrdCmsFinderTRG::Space ( XrdOucErrInfo Resp,
const char *  path,
XrdOucEnv Info = 0 
) [inline, virtual]

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

Parameters:
Resp Object to hold response or error message.
path Associated logical path for the space request.
Info Associated 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 (  ) 
void XrdCmsFinderTRG::Suspend ( int  Perm = 1  )  [virtual]

Suspend service.

Parameters:
Perm When true the suspend persist across server restarts. Otherwise, it is treated as a temporary request.

Reimplemented from XrdCmsClient.

static bool XrdCmsFinderTRG::VCheck ( XrdVersionInfo &  urVersion  )  [static]

Member Data Documentation

int XrdCmsFinderTRG::Active [private]
char* XrdCmsFinderTRG::CMSPath [private]
int XrdCmsFinderTRG::isProxy [private]
int XrdCmsFinderTRG::isRedir [private]
char* XrdCmsFinderTRG::Login [private]

Referenced by Managers().

int XrdCmsFinderTRG::myPort [private]
int XrdCmsFinderTRG::resCur [private]
int XrdCmsFinderTRG::resMax [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 21 May 2020 for xrootd by  doxygen 1.6.1