XrdCmsRedirLocal Class Reference

#include <XrdCmsRedirLocal.hh>

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

List of all members.

Public Member Functions

 XrdCmsRedirLocal (XrdSysLogger *Logger, int opMode, int myPort, XrdOss *theSS)
 ~XrdCmsRedirLocal ()
int Configure (const char *cfn, char *Parms, XrdOucEnv *EnvInfo)
void loadConfig (const char *filename)
int Locate (XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *EnvInfo)
int Space (XrdOucErrInfo &Resp, const char *path, XrdOucEnv *EnvInfo)
void Added (const char *path, int Pend=0)
int Forward (XrdOucErrInfo &Resp, const char *cmd, const char *arg1=0, const char *arg2=0, XrdOucEnv *Env1=0, XrdOucEnv *Env2=0)
int isRemote ()
XrdOucTListManagers ()
int Prepare (XrdOucErrInfo &Resp, XrdSfsPrep &pargs, XrdOucEnv *Info=0)
void Removed (const char *path)
void Resume (int Perm=1)
void Suspend (int Perm=1)
int Resource (int n)
int Reserve (int n=1)
int Release (int n=1)

Public Attributes

XrdCmsClientnativeCmsFinder
 used to forward requests to CmsFinder with regular implementation
XrdOsstheSS
bool readOnlyredirect

Constructor & Destructor Documentation

XrdCmsRedirLocal::XrdCmsRedirLocal ( XrdSysLogger Logger,
int  opMode,
int  myPort,
XrdOss theSS 
)
XrdCmsRedirLocal::~XrdCmsRedirLocal (  ) 

Member Function Documentation

void XrdCmsRedirLocal::Added ( const char *  path,
int  Pend = 0 
) [inline, 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.

References XrdCmsClient::Added(), and nativeCmsFinder.

int XrdCmsRedirLocal::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.

int XrdCmsRedirLocal::Forward ( XrdOucErrInfo Resp,
const char *  cmd,
const char *  arg1 = 0,
const char *  arg2 = 0,
XrdOucEnv Env1 = 0,
XrdOucEnv Env2 = 0 
) [inline, virtual]

Relay a meta-operation to all nodes in the cluster.

This method is only used on manager nodes and is enabled by the ofs.forward directive.

Parameters:
Resp Object where messages are to be returned.
cmd The operation being performed (see table below). If it starts with a '+' then a response (2way) is needed. Otherwise, a best-effort is all that is all that is required and success can always be returned.
arg1 1st argument to cmd.
arg2 2nd argument to cmd, which may be null if none exists.
Env1 Associated environmental information for arg1 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).
Env2 Associated environmental information for arg2 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).

cmd arg1 arg2 cmd arg1 arg2 -------- ------ ------ -------- ------ ------ [+]chmod <path> <mode o> [+]rmdir <path> 0 [+]mkdir <path> <mode o> [+]mv <oldp> <newp> [+]mkpath <path> <mode o> [+]trunc <path> <size lld> [+]rm <path> 0

Returns:
As explained under "return conventions".

Reimplemented from XrdCmsClient.

References XrdCmsClient::Forward(), and nativeCmsFinder.

int XrdCmsRedirLocal::isRemote (  )  [inline, virtual]

Check if this client is configured for a manager node.

Returns:
!0 Yes, configured as a manager. =0 No.

Reimplemented from XrdCmsClient.

References XrdCmsClient::isRemote(), and nativeCmsFinder.

void XrdCmsRedirLocal::loadConfig ( const char *  filename  ) 
int XrdCmsRedirLocal::Locate ( XrdOucErrInfo Resp,
const char *  path,
int  flags,
XrdOucEnv Info 
) [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* XrdCmsRedirLocal::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 XrdCmsClient::Managers(), and nativeCmsFinder.

int XrdCmsRedirLocal::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.

References Info, nativeCmsFinder, and XrdCmsClient::Prepare().

int XrdCmsRedirLocal::Release ( int  n = 1  )  [inline, 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.

References nativeCmsFinder, and XrdCmsClient::Release().

void XrdCmsRedirLocal::Removed ( const char *  path  )  [inline, 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.

References nativeCmsFinder, and XrdCmsClient::Removed().

int XrdCmsRedirLocal::Reserve ( int  n = 1  )  [inline, 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.

References nativeCmsFinder, and XrdCmsClient::Reserve().

int XrdCmsRedirLocal::Resource ( int  n  )  [inline, 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.

References nativeCmsFinder, and XrdCmsClient::Resource().

void XrdCmsRedirLocal::Resume ( int  Perm = 1  )  [inline, 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.

References nativeCmsFinder, and XrdCmsClient::Resume().

int XrdCmsRedirLocal::Space ( XrdOucErrInfo Resp,
const char *  path,
XrdOucEnv Info 
) [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 XrdCmsRedirLocal::Suspend ( int  Perm = 1  )  [inline, virtual]

Suspend service.

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

Reimplemented from XrdCmsClient.

References nativeCmsFinder, and XrdCmsClient::Suspend().


Member Data Documentation

used to forward requests to CmsFinder with regular implementation

Referenced by Added(), Forward(), isRemote(), Managers(), Prepare(), Release(), Removed(), Reserve(), Resource(), Resume(), and Suspend().


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

Generated on 13 May 2020 for xrootd by  doxygen 1.6.1