#include <XrdCmsRedirLocal.hh>
|
| 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 () |
|
XrdOucTList * | Managers () |
|
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) |
|
virtual void | Utilization (unsigned int util, bool alert=false) |
|
| XrdCmsClient (Persona acting) |
|
virtual | ~XrdCmsClient () |
| Destructor.
|
|
◆ XrdCmsRedirLocal()
XrdCmsRedirLocal::XrdCmsRedirLocal |
( |
XrdSysLogger * |
Logger, |
|
|
int |
opMode, |
|
|
int |
myPort, |
|
|
XrdOss * |
theSS |
|
) |
| |
◆ ~XrdCmsRedirLocal()
XrdCmsRedirLocal::~XrdCmsRedirLocal |
( |
| ) |
|
◆ Added()
void XrdCmsRedirLocal::Added |
( |
const char * |
path, |
|
|
int |
Pend = 0 |
|
) |
| |
|
inlinevirtual |
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.
◆ Configure()
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.
◆ Forward()
int XrdCmsRedirLocal::Forward |
( |
XrdOucErrInfo & |
Resp, |
|
|
const char * |
cmd, |
|
|
const char * |
arg1 = 0 , |
|
|
const char * |
arg2 = 0 , |
|
|
XrdOucEnv * |
Env1 = 0 , |
|
|
XrdOucEnv * |
Env2 = 0 |
|
) |
| |
|
inlinevirtual |
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.
◆ isRemote()
int XrdCmsRedirLocal::isRemote |
( |
| ) |
|
|
inlinevirtual |
◆ loadConfig()
void XrdCmsRedirLocal::loadConfig |
( |
const char * |
filename | ) |
|
◆ Locate()
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).
|
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.
◆ Managers()
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.
◆ Prepare()
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 nativeCmsFinder, and XrdCmsClient::Prepare().
◆ Release()
int XrdCmsRedirLocal::Release |
( |
int |
n = 1 | ) |
|
|
inlinevirtual |
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().
◆ Removed()
void XrdCmsRedirLocal::Removed |
( |
const char * |
path | ) |
|
|
inlinevirtual |
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().
◆ Reserve()
int XrdCmsRedirLocal::Reserve |
( |
int |
n = 1 | ) |
|
|
inlinevirtual |
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().
◆ Resource()
int XrdCmsRedirLocal::Resource |
( |
int |
n | ) |
|
|
inlinevirtual |
◆ Resume()
void XrdCmsRedirLocal::Resume |
( |
int |
Perm = 1 | ) |
|
|
inlinevirtual |
◆ Space()
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.
◆ Suspend()
void XrdCmsRedirLocal::Suspend |
( |
int |
Perm = 1 | ) |
|
|
inlinevirtual |
◆ httpRedirect
bool XrdCmsRedirLocal::httpRedirect |
◆ localroot
std::string XrdCmsRedirLocal::localroot |
◆ nativeCmsFinder
used to forward requests to CmsFinder with regular implementation
Referenced by Added(), Forward(), isRemote(), Managers(), Prepare(), Release(), Removed(), Reserve(), Resource(), Resume(), and Suspend().
◆ readOnlyredirect
bool XrdCmsRedirLocal::readOnlyredirect |
◆ Say
The documentation for this class was generated from the following file: