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 PutInfo (XrdCmsPerfMon::PerfInfo &perfInfo, bool alert=false)
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)
void * RunPM ()
int Space (XrdOucErrInfo &Resp, const char *path, XrdOucEnv *envP=0)
void * Start ()
void Utilization (unsigned int util, bool alert=false)
 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
XrdCmsPerfMonperfMon
int perfInt

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]
void XrdCmsFinderTRG::PutInfo ( XrdCmsPerfMon::PerfInfo info,
bool  alert = false 
) [virtual]

Report performance statistics as load values from 0 to 100. The performance monitor plugin may call this method to asynchronously report performance via the passed XrdCmsPerfMon object during configuration.

Parameters:
info Reference to the structure that should be filled out with load values. See the PerfInfo structure.
alert When true, load information is forcibly sent to the cluster's manager. Otherwise, it is only sent if it significantly changes. See the cms.sched directive fuzz parameter.

Reimplemented from XrdCmsPerfMon.

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 
)
void* XrdCmsFinderTRG::RunPM (  ) 
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.

void XrdCmsFinderTRG::Utilization ( unsigned int  util,
bool  alert = false 
) [virtual]

Report utilization of this server. This may be used in lieu of general performance metric reporting. For consistent results use only one method.

Parameters:
util A value from 0 to 100 representing utilization. Values greater than 100 are set to be 100.
alert When true the utilization is forcibly report to the cluster managers. Otherwise, reporting is done only when it will significantly change server selection.

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::perfInt [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 7 Jul 2020 for xrootd by  doxygen 1.6.1