XrdCmsFinderRMT Class Reference

#include <XrdCmsFinder.hh>

Inheritance diagram for XrdCmsFinderRMT:
Inheritance graph
[legend]
Collaboration diagram for XrdCmsFinderRMT:
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 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)
XrdOucTListManagers ()
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)
XrdCmsClientManSelectManager (XrdOucErrInfo &Resp, const char *path)
void SelectManFail (XrdOucErrInfo &Resp)
int send2Man (XrdOucErrInfo &, const char *, struct iovec *, int)
int StartManagers (XrdOucTList *)

Private Attributes

XrdCmsClientManmyManTable [MaxMan]
XrdCmsClientManmyManagers
XrdOucTListmyManList
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.

int XrdCmsFinderRMT::LocLocal ( XrdOucErrInfo Resp,
XrdOucEnv Env 
) [private]
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.

int XrdCmsFinderRMT::Prepare ( XrdOucErrInfo Resp,
XrdSfsPrep pargs,
XrdOucEnv Info = 0 
) [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.

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.

XrdCmsClientMan* XrdCmsFinderRMT::SelectManager ( XrdOucErrInfo Resp,
const char *  path 
) [private]
void XrdCmsFinderRMT::SelectManFail ( XrdOucErrInfo Resp  )  [private]
int XrdCmsFinderRMT::send2Man ( XrdOucErrInfo ,
const char *  ,
struct iovec *  ,
int   
) [private]
void XrdCmsFinderRMT::setSS ( XrdOss thess  )  [inline]
int XrdCmsFinderRMT::Space ( XrdOucErrInfo Resp,
const char *  path,
XrdOucEnv Info = 0 
) [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.

int XrdCmsFinderRMT::StartManagers ( XrdOucTList  )  [private]
static bool XrdCmsFinderRMT::VCheck ( XrdVersionInfo &  urVersion  )  [static]

Member Data Documentation

char* XrdCmsFinderRMT::CMSPath [private]
int XrdCmsFinderRMT::ConWait [private]
int XrdCmsFinderRMT::FwdWait [private]
int XrdCmsFinderRMT::isMeta [private]
int XrdCmsFinderRMT::isProxy [private]
const int XrdCmsFinderRMT::MaxMan = 15 [static]

Referenced by Managers().

int XrdCmsFinderRMT::myPort [private]
int XrdCmsFinderRMT::RepNone [private]
int XrdCmsFinderRMT::RepWait [private]
unsigned char XrdCmsFinderRMT::savePath [private]
unsigned char XrdCmsFinderRMT::sendID [private]
unsigned char XrdCmsFinderRMT::SMode [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 16 Oct 2020 for xrootd by  doxygen 1.6.1