XrdCmsFinderTRG Class Reference
#include <XrdCmsFinder.hh>
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) |
XrdOucTList * | Managers () |
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 |
XrdOss * | SS |
char * | CMSPath |
char * | Login |
XrdOucTList * | myManList |
XrdOucStream * | CMSp |
XrdSysMutex | myData |
XrdSysMutex | rrMutex |
int | resMax |
int | resCur |
int | myPort |
int | isRedir |
int | isProxy |
int | Active |
XrdCmsPerfMon * | perfMon |
int | perfInt |
Constructor & Destructor Documentation
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.
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] |
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
The documentation for this class was generated from the following file: