XrdCmsFinderRMT 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 | Forward (XrdOucErrInfo &Resp, const char *cmd, const char *arg1=0, const char *arg2=0, XrdOucEnv *Env1=0, XrdOucEnv *Env2=0) |
int | Locate (XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *Info=0) |
XrdOucTList * | Managers () |
int | Prepare (XrdOucErrInfo &Resp, XrdSfsPrep &pargs, XrdOucEnv *Info=0) |
void | Removed (const char *path) |
void | setSS (XrdOss *thess) |
int | Space (XrdOucErrInfo &Resp, const char *path, XrdOucEnv *Info=0) |
| XrdCmsFinderRMT (XrdSysLogger *lp, int whoami=0, int Port=0) |
| ~XrdCmsFinderRMT () |
Static Public Member Functions |
static bool | VCheck (XrdVersionInfo &urVersion) |
Static Public Attributes |
static const int | MaxMan = 15 |
Private Member Functions |
int | Decode (char **resp) |
void | Inform (XrdCmsClientMan *xman, struct iovec xmsg[], int xnum) |
int | LocLocal (XrdOucErrInfo &Resp, XrdOucEnv *Env) |
XrdCmsClientMan * | SelectManager (XrdOucErrInfo &Resp, const char *path) |
void | SelectManFail (XrdOucErrInfo &Resp) |
int | send2Man (XrdOucErrInfo &, const char *, struct iovec *, int) |
int | StartManagers (XrdOucTList *) |
Private Attributes |
XrdCmsClientMan * | myManTable [MaxMan] |
XrdCmsClientMan * | myManagers |
XrdOucTList * | myManList |
int | myManCount |
XrdSysMutex | myData |
char * | CMSPath |
int | ConWait |
int | RepDelay |
int | RepNone |
int | RepWait |
int | FwdWait |
int | PrepWait |
int | isMeta |
int | isProxy |
int | isTarget |
int | myPort |
unsigned char | SMode |
unsigned char | sendID |
unsigned char | savePath |
Constructor & Destructor Documentation
XrdCmsFinderRMT::XrdCmsFinderRMT |
( |
XrdSysLogger * |
lp, |
|
|
int |
whoami = 0 , |
|
|
int |
Port = 0 | |
|
) |
| | |
XrdCmsFinderRMT::~XrdCmsFinderRMT |
( |
|
) |
|
Member Function Documentation
void XrdCmsFinderRMT::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.
int XrdCmsFinderRMT::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 XrdCmsFinderRMT::Decode |
( |
char ** |
resp |
) |
[private] |
int XrdCmsFinderRMT::Forward |
( |
XrdOucErrInfo & |
Resp, |
|
|
const char * |
cmd, |
|
|
const char * |
arg1 = 0 , |
|
|
const char * |
arg2 = 0 , |
|
|
XrdOucEnv * |
Env1 = 0 , |
|
|
XrdOucEnv * |
Env2 = 0 | |
|
) |
| | [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.
void XrdCmsFinderRMT::Inform |
( |
XrdCmsClientMan * |
xman, |
|
|
struct iovec |
xmsg[], |
|
|
int |
xnum | |
|
) |
| | [private] |
int XrdCmsFinderRMT::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* XrdCmsFinderRMT::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.
void XrdCmsFinderRMT::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.
void XrdCmsFinderRMT::SelectManFail |
( |
XrdOucErrInfo & |
Resp |
) |
[private] |
int XrdCmsFinderRMT::send2Man |
( |
XrdOucErrInfo & |
, |
|
|
const char * |
, |
|
|
struct iovec * |
, |
|
|
int |
| |
|
) |
| | [private] |
void XrdCmsFinderRMT::setSS |
( |
XrdOss * |
thess |
) |
[inline] |
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.
int XrdCmsFinderRMT::StartManagers |
( |
XrdOucTList * |
|
) |
[private] |
static bool XrdCmsFinderRMT::VCheck |
( |
XrdVersionInfo & |
urVersion |
) |
[static] |
Member Data Documentation
The documentation for this class was generated from the following file: