<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>xrootd: XrdCmsClient Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">xrootd </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="classXrdCmsClient-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">XrdCmsClient Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="XrdCmsClient_8hh_source.html">XrdCmsClient.hh</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a26b06040ab4580874ea01116c77c29cc"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">Persona</a> { <a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29ccabe268e0c2761b62b2a18dafec139b281">amLocal</a>, <a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cca378472a1b2f7106e4d620e3d9c300730">amRemote</a>, <a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cca5a439215734a2f1a01346f9513f86ab2">amTarget</a> }</td></tr> <tr class="separator:a26b06040ab4580874ea01116c77c29cc"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a29157ba4b6ef81c438fe953fd20d1c3d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a29157ba4b6ef81c438fe953fd20d1c3d">Added</a> (const char *path, int Pend=0)</td></tr> <tr class="separator:a29157ba4b6ef81c438fe953fd20d1c3d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d3a32ef1763b7ff28f415ee9a3b35c5"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a0d3a32ef1763b7ff28f415ee9a3b35c5">Configure</a> (const char *cfn, char *Parms, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *EnvInfo)=0</td></tr> <tr class="separator:a0d3a32ef1763b7ff28f415ee9a3b35c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a904d157580f27797a8cee0c186e9ca04"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a904d157580f27797a8cee0c186e9ca04">Forward</a> (<a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> &Resp, const char *cmd, const char *arg1=0, const char *arg2=0, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *Env1=0, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *Env2=0)</td></tr> <tr class="separator:a904d157580f27797a8cee0c186e9ca04"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c033fcb1250cf4da3fad4fb007a0b9a"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a7c033fcb1250cf4da3fad4fb007a0b9a">isRemote</a> ()</td></tr> <tr class="separator:a7c033fcb1250cf4da3fad4fb007a0b9a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ada12ceac52d5970c9be937026353ea5b"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#ada12ceac52d5970c9be937026353ea5b">Locate</a> (<a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> &Resp, const char *path, int flags, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *Info=0)=0</td></tr> <tr class="separator:ada12ceac52d5970c9be937026353ea5b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9a3e67c52ca95c0598651ab5b6f38f1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classXrdOucTList.html">XrdOucTList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#aa9a3e67c52ca95c0598651ab5b6f38f1">Managers</a> ()</td></tr> <tr class="separator:aa9a3e67c52ca95c0598651ab5b6f38f1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c64b69f4a842faed6a69e2d1b3e3154"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a7c64b69f4a842faed6a69e2d1b3e3154">Prepare</a> (<a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> &Resp, <a class="el" href="structXrdSfsPrep.html">XrdSfsPrep</a> &pargs, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *Info=0)</td></tr> <tr class="separator:a7c64b69f4a842faed6a69e2d1b3e3154"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b7eed6a72a043ed55d22944951a6264"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a8b7eed6a72a043ed55d22944951a6264">Removed</a> (const char *path)</td></tr> <tr class="separator:a8b7eed6a72a043ed55d22944951a6264"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a793fc625ec229a468e89e7a7fec1bf7b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a793fc625ec229a468e89e7a7fec1bf7b">Resume</a> (int Perm=1)</td></tr> <tr class="separator:a793fc625ec229a468e89e7a7fec1bf7b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed2830d10800779f50e532c6a307fdc4"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#aed2830d10800779f50e532c6a307fdc4">Suspend</a> (int Perm=1)</td></tr> <tr class="separator:aed2830d10800779f50e532c6a307fdc4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab046f8b4344e5ca73d932d35a19499fd"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#ab046f8b4344e5ca73d932d35a19499fd">Resource</a> (int n)</td></tr> <tr class="separator:ab046f8b4344e5ca73d932d35a19499fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a560415b6e4abe0fece9a94d85238f757"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a560415b6e4abe0fece9a94d85238f757">Reserve</a> (int n=1)</td></tr> <tr class="separator:a560415b6e4abe0fece9a94d85238f757"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a710d6635fa8d133c68517fbf7d8c1aaf"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a710d6635fa8d133c68517fbf7d8c1aaf">Release</a> (int n=1)</td></tr> <tr class="separator:a710d6635fa8d133c68517fbf7d8c1aaf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac05893c5168f4fcbf442023a463df6e7"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#ac05893c5168f4fcbf442023a463df6e7">Space</a> (<a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> &Resp, const char *path, <a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> *Info=0)=0</td></tr> <tr class="separator:ac05893c5168f4fcbf442023a463df6e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a23bc70075a0a1f9bd1327e70611946b7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a23bc70075a0a1f9bd1327e70611946b7">XrdCmsClient</a> (<a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">Persona</a> acting)</td></tr> <tr class="separator:a23bc70075a0a1f9bd1327e70611946b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6ee1a437762c2cfe12e91de7a32ab9f8"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a6ee1a437762c2cfe12e91de7a32ab9f8">~XrdCmsClient</a> ()</td></tr> <tr class="memdesc:a6ee1a437762c2cfe12e91de7a32ab9f8"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a6ee1a437762c2cfe12e91de7a32ab9f8">More...</a><br/></td></tr> <tr class="separator:a6ee1a437762c2cfe12e91de7a32ab9f8"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:a4a0c28de3c21dc8d42409abeae7ed15f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">Persona</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXrdCmsClient.html#a4a0c28de3c21dc8d42409abeae7ed15f">myPersona</a></td></tr> <tr class="separator:a4a0c28de3c21dc8d42409abeae7ed15f"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="a26b06040ab4580874ea01116c77c29cc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">XrdCmsClient::Persona</a></td> </tr> </table> </div><div class="memdoc"> <p>Constructor</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">acting</td><td>The type of function this object is performing. </td></tr> </table> </dd> </dl> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a26b06040ab4580874ea01116c77c29ccabe268e0c2761b62b2a18dafec139b281"></a>amLocal</em> </td><td class="fielddoc"> <p>Not affiliated with a cluster. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a26b06040ab4580874ea01116c77c29cca378472a1b2f7106e4d620e3d9c300730"></a>amRemote</em> </td><td class="fielddoc"> <p>Am a manager an issue redirects. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a26b06040ab4580874ea01116c77c29cca5a439215734a2f1a01346f9513f86ab2"></a>amTarget</em> </td><td class="fielddoc"> <p>Am a server an field redirects. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a23bc70075a0a1f9bd1327e70611946b7"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">XrdCmsClient::XrdCmsClient </td> <td>(</td> <td class="paramtype"><a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">Persona</a> </td> <td class="paramname"><em>acting</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a6ee1a437762c2cfe12e91de7a32ab9f8"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual XrdCmsClient::~XrdCmsClient </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Destructor. </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a29157ba4b6ef81c438fe953fd20d1c3d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void XrdCmsClient::Added </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>Pend</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Notify the cms of a newly added file or a file whose state has changed on a data server node.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">path</td><td>The logical file name. </td></tr> <tr><td class="paramname">Pend</td><td>When true, the file is scheduled to be present in the future (e.g. copied in). </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a0d3a32ef1763b7ff28f415ee9a3b35c5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Configure </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>cfn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>Parms</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>EnvInfo</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Configure the client object.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">cfn</td><td>The configuration file name. </td></tr> <tr><td class="paramname">Parms</td><td>Any parameters specified in the cmslib directive. If none, the pointer may be null. </td></tr> <tr><td class="paramname">EnvInfo</td><td>Environmental information of the caller.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Success !0 Failure =0 </dd></dl> </div> </div> <a class="anchor" id="a904d157580f27797a8cee0c186e9ca04"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Forward </td> <td>(</td> <td class="paramtype"><a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> & </td> <td class="paramname"><em>Resp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>cmd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>arg1</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>arg2</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>Env1</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>Env2</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Relay a meta-operation to all nodes in the cluster.</p> <p>This method is only used on manager nodes and is enabled by the ofs.forward directive.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Resp</td><td>Object where messages are to be returned. </td></tr> <tr><td class="paramname">cmd</td><td>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. </td></tr> <tr><td class="paramname">arg1</td><td>1st argument to cmd. </td></tr> <tr><td class="paramname">arg2</td><td>2nd argument to cmd, which may be null if none exists. </td></tr> <tr><td class="paramname">Env1</td><td>Associated environmental information for arg1 (e.g., cgi info which can be retrieved by Env1->Env(<len>)). </td></tr> <tr><td class="paramname">Env2</td><td>Associated environmental information for arg2 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).</td></tr> </table> </dd> </dl> <p>cmd arg1 arg2 cmd arg1 arg2 </p> <hr/> <p> [+]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</p> <p>: As explained under "return conventions". </p> </div> </div> <a class="anchor" id="a7c033fcb1250cf4da3fad4fb007a0b9a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::isRemote </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Check if this client is configured for a manager node.</p> <dl class="section return"><dt>Returns</dt><dd>!0 Yes, configured as a manager. =0 No. </dd></dl> <p>References <a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cca378472a1b2f7106e4d620e3d9c300730">amRemote</a>, and <a class="el" href="classXrdCmsClient.html#a4a0c28de3c21dc8d42409abeae7ed15f">myPersona</a>.</p> </div> </div> <a class="anchor" id="ada12ceac52d5970c9be937026353ea5b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Locate </td> <td>(</td> <td class="paramtype"><a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> & </td> <td class="paramname"><em>Resp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>Info</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Retrieve file location information.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Resp</td><td>Object where message or response is to be returned. </td></tr> <tr><td class="paramname">path</td><td>The logical path whise location is wanted. </td></tr> <tr><td class="paramname">flags</td><td>One or more of the following: <pre class="fragment"> 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). </pre></td></tr> <tr><td class="paramname">Info</td><td>Associated environmental information for arg2 (e.g., cgi info which can be retrieved by Env1->Env(<len>)).</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>As explained under "return conventions". </dd></dl> </div> </div> <a class="anchor" id="aa9a3e67c52ca95c0598651ab5b6f38f1"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classXrdOucTList.html">XrdOucTList</a>* XrdCmsClient::Managers </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Obtain the list of cmsd's being used by a manager node along with their associated index numbers, origin 1.</p> <dl class="section return"><dt>Returns</dt><dd>The list of cmsd's being used. The list is considered permanent and is not deleted. </dd></dl> </div> </div> <a class="anchor" id="a7c64b69f4a842faed6a69e2d1b3e3154"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Prepare </td> <td>(</td> <td class="paramtype"><a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> & </td> <td class="paramname"><em>Resp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structXrdSfsPrep.html">XrdSfsPrep</a> & </td> <td class="paramname"><em>pargs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>Info</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Start the preparation of a file for future processing.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Resp</td><td>Object where message or response is to be returned. </td></tr> <tr><td class="paramname">pargs</td><td>Information on which and how to prepare the file. </td></tr> <tr><td class="paramname">Info</td><td>Associated environmental information.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>As explained under "return conventions". </dd></dl> </div> </div> <a class="anchor" id="a710d6635fa8d133c68517fbf7d8c1aaf"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Release </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>n</em> = <code>1</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>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.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">n</td><td>The value to add to the resources available (default 1). The total amount is capped by the amount specified by <a class="el" href="classXrdCmsClient.html#ab046f8b4344e5ca73d932d35a19499fd">Resource()</a>.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The amount of resource left. </dd></dl> </div> </div> <a class="anchor" id="a8b7eed6a72a043ed55d22944951a6264"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void XrdCmsClient::Removed </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Notify the cmsd that a file or directory has been deleted. It is only called called on a data server node.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">path</td><td>The logical file name that was removed. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a560415b6e4abe0fece9a94d85238f757"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Reserve </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>n</em> = <code>1</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>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.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">n</td><td>The value by which resources are decreased (default 1).</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The amount of resource left. </dd></dl> </div> </div> <a class="anchor" id="ab046f8b4344e5ca73d932d35a19499fd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Resource </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>n</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Enables the <a class="el" href="classXrdCmsClient.html#a560415b6e4abe0fece9a94d85238f757">Reserve()</a> & <a class="el" href="classXrdCmsClient.html#a710d6635fa8d133c68517fbf7d8c1aaf">Release()</a> methods.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">n</td><td>a positive integer that specifies the amount of resource units that are available. It may be reset at any time.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous resource value. This first call returns 0. </dd></dl> </div> </div> <a class="anchor" id="a793fc625ec229a468e89e7a7fec1bf7b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void XrdCmsClient::Resume </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>Perm</em> = <code>1</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Resume service after a suspension.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Perm</td><td>When true the resume persist across server restarts. Otherwise, it is treated as a temporary request. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac05893c5168f4fcbf442023a463df6e7"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int XrdCmsClient::Space </td> <td>(</td> <td class="paramtype"><a class="el" href="classXrdOucErrInfo.html">XrdOucErrInfo</a> & </td> <td class="paramname"><em>Resp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classXrdOucEnv.html">XrdOucEnv</a> * </td> <td class="paramname"><em>Info</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Obtain the overall space usage of a cluster. Called only on manager nodes.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Resp</td><td>Object to hold response or error message. </td></tr> <tr><td class="paramname">path</td><td>Associated logical path for the space request. </td></tr> <tr><td class="paramname">Info</td><td>Associated cgi information for path.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Space information as defined by the response to kYR_statfs. For a typical implementation see XrdCmsNode::do_StatFS(). </dd></dl> </div> </div> <a class="anchor" id="aed2830d10800779f50e532c6a307fdc4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void XrdCmsClient::Suspend </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>Perm</em> = <code>1</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Suspend service.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">Perm</td><td>When true the suspend persist across server restarts. Otherwise, it is treated as a temporary request. </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a4a0c28de3c21dc8d42409abeae7ed15f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classXrdCmsClient.html#a26b06040ab4580874ea01116c77c29cc">Persona</a> XrdCmsClient::myPersona</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classXrdCmsClient.html#a7c033fcb1250cf4da3fad4fb007a0b9a">isRemote()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="XrdCmsClient_8hh_source.html">XrdCmsClient.hh</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> </body> </html>