xrootd
Classes | Enumerations | Functions | Variables
XrdCms Namespace Reference

Classes

struct  CmsRRHdr
 
struct  CmsResponse
 
struct  CmsAvailRequest
 
struct  CmsChmodRequest
 
struct  CmsDiscRequest
 
struct  CmsGoneRequest
 
struct  CmsHaveRequest
 
struct  CmsLocateRequest
 
struct  CmsLoginData
 
struct  CmsLoginRequest
 
struct  CmsLoginResponse
 
struct  CmsLoadRequest
 
struct  CmsMkdirRequest
 
struct  CmsMkpathRequest
 
struct  CmsMvRequest
 
struct  CmsPingRequest
 
struct  CmsPongRequest
 
struct  CmsPrepAddRequest
 
struct  CmsPrepDelRequest
 
struct  CmsRmRequest
 
struct  CmsRmdirRequest
 
struct  CmsSelectRequest
 
struct  CmsSpaceRequest
 
struct  CmsStateRequest
 
struct  CmsStatfsRequest
 
struct  CmsStatsRequest
 
struct  CmsStatusRequest
 
struct  CmsTruncRequest
 
struct  CmsTryRequest
 
struct  CmsUpdateRequest
 
struct  CmsUsageRequest
 
class  AdminReq
 
class  SpaceData
 
struct  SecFunc
 

Enumerations

enum  CmsReqCode {
  kYR_login = 0, kYR_chmod = 1, kYR_locate = 2, kYR_mkdir = 3,
  kYR_mkpath = 4, kYR_mv = 5, kYR_prepadd = 6, kYR_prepdel = 7,
  kYR_rm = 8, kYR_rmdir = 9, kYR_select = 10, kYR_stats = 11,
  kYR_avail = 12, kYR_disc = 13, kYR_gone = 14, kYR_have = 15,
  kYR_load = 16, kYR_ping = 17, kYR_pong = 18, kYR_space = 19,
  kYR_state = 20, kYR_statfs = 21, kYR_status = 22, kYR_trunc = 23,
  kYR_try = 24, kYR_update = 25, kYR_usage = 26, kYR_xauth = 27,
  kYR_MaxReq
}
 
enum  CmsFwdModifier { kYR_hopcount = 0xc0, kYR_hopincr = 0x40 }
 
enum  CmsReqModifier { kYR_raw = 0x20, kYR_dnf = 0x10 }
 
enum  CmsRspCode {
  kYR_data = 0, kYR_error = 1, kYR_redirect = 2, kYR_wait = 3,
  kYR_waitresp = 4, kYR_yauth = 5
}
 
enum  YErrorCode {
  kYR_ENOENT = 1, kYR_EPERM, kYR_EACCES, kYR_EINVAL,
  kYR_EIO, kYR_ENOMEM, kYR_ENOSPC, kYR_ENAMETOOLONG,
  kYR_ENETUNREACH, kYR_ENOTBLK, kYR_EISDIR
}
 
enum  { IsProxy = 1, IsRedir = 2, IsTarget = 4, IsMeta = 8 }
 

Functions

XrdCmsClientGetDefaultClient (XrdSysLogger *Logger, int opMode, int myPort)
 
 XrdVERSIONINFODEF (myVersion, cmsclient, XrdVNUMBER, XrdVERSION)
 

Variables

static const char kYR_Version = 2
 
XrdCmsBaseFS baseFS
 
XrdSchedulerSched = 0
 
XrdCmsCache Cache
 
static const int CMS_noStage = 1
 
static const int CMS_Suspend = 2
 
static const int CMS_Perm = 4
 
static const int CMS_isMan = 8
 
static const int CMS_Lost = 16
 
static const int CMS_isPeer = 32
 
static const int CMS_isProxy = 64
 
static const int CMS_noSpace =128
 
XrdCmsCluster Cluster
 
XrdCmsAdmin Admin
 
XrdCmsConfig Config
 
XrdCmsXmiXmi_Chmod = 0
 
XrdCmsXmiXmi_Load = 0
 
XrdCmsXmiXmi_Mkdir = 0
 
XrdCmsXmiXmi_Mkpath = 0
 
XrdCmsXmiXmi_Prep = 0
 
XrdCmsXmiXmi_Rename = 0
 
XrdCmsXmiXmi_Remdir = 0
 
XrdCmsXmiXmi_Remove = 0
 
XrdCmsXmiXmi_Select = 0
 
XrdCmsXmiXmi_Space = 0
 
XrdCmsXmiXmi_Stat = 0
 
XrdSysError Say (0,"cms_")
 
XrdCmsManager Manager
 
XrdCmsManList myMans
 
XrdCmsManTree ManTree
 
XrdCmsMeter Meter
 
XrdCmsParser Parser
 
XrdCmsPrepare PrepQ
 
XrdCmsRouter::theRoute initRouter []
 
XrdCmsRouting::theRouting initMANrouting []
 
XrdCmsRouting::theRouting initRDRrouting []
 
XrdCmsRouting::theRouting initRSProuting []
 
XrdCmsRouting::theRouting initSRVrouting []
 
XrdCmsRouting::theRouting initSUProuting []
 
XrdCmsRouter Router
 
XrdCmsRouting manVOps
 
XrdCmsRouting rdrVOps
 
XrdCmsRouting rspVOps
 
XrdCmsRouting srvVOps
 
XrdCmsRouting supVOps
 
XrdCmsRRQ RRQ
 
XrdCmsRTable RTable
 
static struct XrdCms::SecFunc Sec
 
XrdCmsState CmsState
 
XrdOucTrace Trace
 

Detailed Description

The following instantiation mode flags are passed to the instantiator (see comments that follow). They may be or'd together, depending on which mode the cms client should operate. They are defined as follows:

Obtain an instance of a configured XrdCmsClient.

The following extern "C" function is called to obtain an instance of the XrdCmsClient object. This is only used if the client is an actual plug-in as identified by the ofs.cmslib directive. Once the XrdCmsClient object is obtained, its Configure() method is called to initialize the object.

Parameters
logger-> XrdSysLogger to be tied to an XrdSysError object for any messages.
opMode-> The operational mode as defined by the enum above. There are two general types of clients, IsRedir and IsTarget. The IsProxy and IsMeta modes are specialization of these two basic types. The plug-in must provide an instance of the one asked for whether or not they actually do anything.

IsRedir clients are anything other than a data provider (i.e., data servers). These clients are expected to locate files and redirect a requestor to an actual data server.

IsTarget clients are typically data providers (i.e., data servers) but may actually do other functions are are allowed to redirect as well.

Parameters
myPort-> The server's port number.
theSS-> The object that implements he underlying storage system. This object may be passed for historic reasons.
Returns
Success: a pointer to the appropriate object (IsRedir or IsTarget).
    Failure: a null pointer which causes initialization to fail.  

extern "C" XrdCmsClient *XrdCmsGetClient(XrdSysLogger *Logger, int opMode, int myPort XrdOss *theSS);Obtain an instance of a default unconfigured XrdCmsClient.

The following function may be called to obtain an instance of the default XrdCmsClient object. The Configure() method is not called before the object is returned. The parameters are the same as those for the function XrdCmsGetClient(), above. Note that you need not supply a pointer to the underlying storage system, as this is historic in nature.

Returns
Success: a pointer to the appropriate object (IsRedir or IsTarget).
    Failure: a null pointer, neither ISRedir nor IsTarget has been
             specified or there is insufficient memory.  

Enumeration Type Documentation

anonymous enum
Enumerator
IsProxy 

The role is proxy {plus one or more of the below}.

IsRedir 

The role is manager and will redirect users.

IsTarget 

The role is server and will be a redirection target.

IsMeta 

The role is meta {plus one or more of the above}.

Enumerator
kYR_hopcount 
kYR_hopincr 
Enumerator
kYR_login 
kYR_chmod 
kYR_locate 
kYR_mkdir 
kYR_mkpath 
kYR_mv 
kYR_prepadd 
kYR_prepdel 
kYR_rm 
kYR_rmdir 
kYR_select 
kYR_stats 
kYR_avail 
kYR_disc 
kYR_gone 
kYR_have 
kYR_load 
kYR_ping 
kYR_pong 
kYR_space 
kYR_state 
kYR_statfs 
kYR_status 
kYR_trunc 
kYR_try 
kYR_update 
kYR_usage 
kYR_xauth 
kYR_MaxReq 
Enumerator
kYR_raw 
kYR_dnf 
Enumerator
kYR_data 
kYR_error 
kYR_redirect 
kYR_wait 
kYR_waitresp 
kYR_yauth 
Enumerator
kYR_ENOENT 
kYR_EPERM 
kYR_EACCES 
kYR_EINVAL 
kYR_EIO 
kYR_ENOMEM 
kYR_ENOSPC 
kYR_ENAMETOOLONG 
kYR_ENETUNREACH 
kYR_ENOTBLK 
kYR_EISDIR 

Function Documentation

XrdCmsClient * XrdCms::GetDefaultClient ( XrdSysLogger Logger,
int  opMode,
int  myPort 
)

References IsRedir, and IsTarget.

XrdCms::XrdVERSIONINFODEF ( myVersion  ,
cmsclient  ,
XrdVNUMBER  ,
XrdVERSION   
)

Variable Documentation

XrdCmsAdmin XrdCms::Admin
XrdCmsBaseFS XrdCms::baseFS
XrdCmsCache XrdCms::Cache
XrdCmsCluster XrdCms::Cluster
const int XrdCms::CMS_isMan = 8
static
const int XrdCms::CMS_isPeer = 32
static
const int XrdCms::CMS_isProxy = 64
static

Referenced by XrdCmsProtocol::Admit().

const int XrdCms::CMS_Lost = 16
static
const int XrdCms::CMS_noSpace =128
static
const int XrdCms::CMS_noStage = 1
static
const int XrdCms::CMS_Perm = 4
static

Referenced by XrdCmsCluster::Add().

const int XrdCms::CMS_Suspend = 2
static
XrdCmsState XrdCms::CmsState
XrdCmsConfig XrdCms::Config
XrdCmsRouting::theRouting XrdCms::initMANrouting[]
XrdCmsRouting::theRouting XrdCms::initRDRrouting[]
XrdCmsRouter::theRoute XrdCms::initRouter[]
XrdCmsRouting::theRouting XrdCms::initRSProuting[]
XrdCmsRouting::theRouting XrdCms::initSRVrouting[]
XrdCmsRouting::theRouting XrdCms::initSUProuting[]
const char XrdCms::kYR_Version = 2
static
XrdCmsManager XrdCms::Manager
XrdCmsManTree XrdCms::ManTree
XrdCmsRouting XrdCms::manVOps

Referenced by XrdCmsProtocol::Pander().

XrdCmsMeter XrdCms::Meter
XrdCmsManList XrdCms::myMans
XrdCmsParser XrdCms::Parser
XrdCmsPrepare XrdCms::PrepQ
XrdCmsRouting XrdCms::rdrVOps
XrdCmsRouter XrdCms::Router
XrdCmsRRQ XrdCms::RRQ
XrdCmsRouting XrdCms::rspVOps

Referenced by XrdCmsProtocol::Admit().

XrdCmsRTable XrdCms::RTable
XrdSysError XrdCms::Say

Referenced by XrdCmsManager::Add(), XrdCmsCluster::Add(), XrdCmsProtocol::Admit(), XrdCmsProtocol::Admit_Redirector(), XrdCmsJob::Alloc(), XrdCmsProtocol::Alloc(), XrdCmsKeyItem::Alloc(), XrdCmsSecurity::Authenticate(), XrdCmsAdmin::BegAds(), XrdCmsAdmin::Con2Ads(), XrdCmsProtocol::ConfigCheck(), XrdCmsConfig::ConfigN2N(), XrdCmsConfig::ConfigOSS(), XrdCmsClientConfig::ConfigProc(), XrdCmsConfig::ConfigProc(), XrdCmsSecurity::Configure(), XrdCmsClientConfig::Configure(), XrdCmsConfig::Configure1(), XrdCmsConfig::Configure2(), XrdCmsConfig::ConfigXeq(), XrdCmsManTree::Connect(), XrdCmsCache::DelFile(), XrdCmsProtocol::Dispatch(), XrdCmsNode::do_Disc(), XrdCmsNode::do_Load(), XrdCmsAdmin::do_Login(), XrdCmsNode::do_Mv(), XrdCmsAdmin::do_RmDid(), XrdCmsAdmin::do_RmDud(), XrdCmsNode::do_SelPrep(), XrdCmsNode::do_Status(), XrdCmsConfig::DoIt(), XrdCmsCluster::Drop(), XrdCmsLogin::Emsg(), XrdCmsProtocol::Execute(), XrdCmsNode::fsFail(), XrdCmsSecurity::Identify(), XrdCmsSupervisor::Init(), XrdCmsCache::Init(), XrdCmsRRQ::Init(), XrdCmsAdmin::Login(), XrdCmsConfig::MergeP(), XrdCmsAdmin::MonAds(), XrdCmsReq::noReply(), XrdCmsAdmin::Notes(), XrdCmsParser::Pack(), XrdCmsProtocol::Pander(), XrdCmsConfig::PidFile(), XrdCmsXmiReq::processReqQ(), XrdCmsBaseFS::Queue(), XrdCmsCluster::Record(), XrdCmsProtocol::Recycle(), XrdCmsCache::Recycle(), XrdCmsProtocol::Reissue(), XrdCmsAdmin::Relay(), XrdCmsManager::Remove(), XrdCmsCluster::Remove(), XrdCmsResp::ReplyXeq(), XrdCmsAdmin::Send(), XrdCmsConfig::setupManager(), XrdCmsConfig::setupServer(), XrdCmsConfig::setupXmi(), XrdCmsAdmin::Start(), XrdCmsXmiReq::Start(), XrdCmsBaseFS::Start(), XrdCmsClientConfig::xapath(), XrdCmsClientConfig::xconw(), XrdCmsBaseFS::Xeq(), XrdCmsClientConfig::xmang(), XrdgetProtocolPort(), XrdCmsClientConfig::xreqs(), and XrdCmsClientConfig::xtrac().

XrdScheduler * XrdCms::Sched = 0
struct XrdCms::SecFunc XrdCms::Sec
static
XrdCmsRouting XrdCms::srvVOps

Referenced by XrdCmsProtocol::Pander().

XrdCmsRouting XrdCms::supVOps

Referenced by XrdCmsProtocol::Pander().

XrdOucTrace XrdCms::Trace
XrdCmsXmi * XrdCms::Xmi_Chmod = 0
XrdCmsXmi * XrdCms::Xmi_Load = 0

Referenced by XrdCmsConfig::setupXmi().

XrdCmsXmi * XrdCms::Xmi_Mkdir = 0
XrdCmsXmi * XrdCms::Xmi_Mkpath = 0
XrdCmsXmi * XrdCms::Xmi_Prep = 0
XrdCmsXmi * XrdCms::Xmi_Remdir = 0
XrdCmsXmi * XrdCms::Xmi_Remove = 0
XrdCmsXmi * XrdCms::Xmi_Rename = 0
XrdCmsXmi * XrdCms::Xmi_Select = 0
XrdCmsXmi * XrdCms::Xmi_Space = 0

Referenced by XrdCmsConfig::setupXmi().

XrdCmsXmi * XrdCms::Xmi_Stat = 0