XRootD
XrdOssCsiConfig Class Reference

#include <XrdOssCsiConfig.hh>

+ Collaboration diagram for XrdOssCsiConfig:

Public Member Functions

 XrdOssCsiConfig ()
 
 ~XrdOssCsiConfig ()
 
bool allowMissingTags () const
 
bool disableLooseWrite () const
 
bool disablePgExtend () const
 
bool fillFileHole () const
 
int Init (XrdSysError &, const char *, const char *, XrdOucEnv *)
 
std::string xrdtSpaceName () const
 

Public Attributes

TagPath tagParam_
 

Detailed Description

Definition at line 161 of file XrdOssCsiConfig.hh.

Constructor & Destructor Documentation

◆ XrdOssCsiConfig()

XrdOssCsiConfig::XrdOssCsiConfig ( )
inline

Definition at line 165 of file XrdOssCsiConfig.hh.

165 : fillFileHole_(true), xrdtSpaceName_("public"), allowMissingTags_(true), disablePgExtend_(false), disableLooseWrite_(false) { }

◆ ~XrdOssCsiConfig()

XrdOssCsiConfig::~XrdOssCsiConfig ( )
inline

Definition at line 166 of file XrdOssCsiConfig.hh.

166 { }

Member Function Documentation

◆ allowMissingTags()

bool XrdOssCsiConfig::allowMissingTags ( ) const
inline

Definition at line 174 of file XrdOssCsiConfig.hh.

174 { return allowMissingTags_; }

◆ disableLooseWrite()

bool XrdOssCsiConfig::disableLooseWrite ( ) const
inline

Definition at line 178 of file XrdOssCsiConfig.hh.

178 { return disableLooseWrite_; }

◆ disablePgExtend()

bool XrdOssCsiConfig::disablePgExtend ( ) const
inline

Definition at line 176 of file XrdOssCsiConfig.hh.

176 { return disablePgExtend_; }

◆ fillFileHole()

bool XrdOssCsiConfig::fillFileHole ( ) const
inline

Definition at line 170 of file XrdOssCsiConfig.hh.

170 { return fillFileHole_; }

◆ Init()

int XrdOssCsiConfig::Init ( XrdSysError Eroute,
const char *  config_fn,
const char *  parms,
XrdOucEnv  
)

Definition at line 48 of file XrdOssCsiConfig.cc.

49 {
50  int NoGo = XrdOssOK;
51  Eroute.Say("++++++ OssCsi plugin initialization started.");
52 
53  std::stringstream ss(parms ? parms : "");
54  std::string item;
55 
56  while(std::getline(ss, item, ' '))
57  {
58  std::string value;
59  const auto idx = item.find('=');
60  if (idx != std::string::npos)
61  {
62  value = item.substr(idx+1, std::string::npos);
63  item.erase(idx, std::string::npos);
64  }
65  if (item == "nofill")
66  {
67  fillFileHole_ = false;
68  }
69  else if (item == "space" && !value.empty())
70  {
71  xrdtSpaceName_ = value;
72  }
73  else if (item == "nomissing")
74  {
75  allowMissingTags_ = false;
76  }
77  else if (item == "prefix")
78  {
79  if (tagParam_.SetPrefix(Eroute, value)) NoGo = 1;
80  }
81  else if (item == "nopgextend")
82  {
83  disablePgExtend_ = true;
84  }
85  else if (item == "noloosewrites")
86  {
87  disableLooseWrite_ = true;
88  }
89  }
90 
91  if (NoGo) return NoGo;
92 
94  if (getenv("XRDDEBUG")) OssCsiTrace.What = TRACE_ALL;
95  if (readConfig(Eroute, config_fn)) return 1;
96 
97  Eroute.Say(" compute file holes : ", fillFileHole_ ? "yes" : "no");
98  Eroute.Say(" space name : ", xrdtSpaceName_.c_str());
99  Eroute.Say(" allow files without CRCs: ", allowMissingTags_ ? "yes" : "no");
100  Eroute.Say(" pgWrite can extend : ", disablePgExtend_ ? "no" : "yes");
101  Eroute.Say(" loose writes : ", disableLooseWrite_ ? "no" : "yes");
102  Eroute.Say(" trace level : ", std::to_string((long long int)OssCsiTrace.What).c_str());
103  Eroute.Say(" prefix : ", tagParam_.prefix_.empty() ? "[empty]" : tagParam_.prefix_.c_str());
104 
105  Eroute.Say("++++++ OssCsi plugin initialization completed.");
106 
107 
108  return XrdOssOK;
109 }
XrdOucTrace OssCsiTrace
#define TRACE_Warn
#define XrdOssOK
Definition: XrdOss.hh:50
void getline(uchar *buff, int blen)
#define TRACE_ALL
Definition: XrdTrace.hh:35
std::string prefix_
int SetPrefix(XrdSysError &Eroute, const std::string &v)
void Say(const char *text1, const char *text2=0, const char *txt3=0, const char *text4=0, const char *text5=0, const char *txt6=0)
Definition: XrdSysError.cc:141

References getline(), OssCsiTrace, TagPath::prefix_, XrdSysError::Say(), TagPath::SetPrefix(), tagParam_, TRACE_ALL, TRACE_Warn, XrdOucTrace::What, and XrdOssOK.

Referenced by XrdOssCsi::Init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xrdtSpaceName()

std::string XrdOssCsiConfig::xrdtSpaceName ( ) const
inline

Definition at line 172 of file XrdOssCsiConfig.hh.

172 { return xrdtSpaceName_; }

Referenced by XrdOssCsi::tagOpenEnv().

+ Here is the caller graph for this function:

Member Data Documentation

◆ tagParam_


The documentation for this class was generated from the following files: