1 #ifndef __XRDTHROTTLE_H_
2 #define __XRDTHROTTLE_H_
7 #include "XrdVersion.hh"
18 namespace XrdThrottle {
20 #if __cplusplus >= 201103L
35 open(
const char *fileName,
39 const char *opaque = 0);
57 getMmap(
void **Addr, off_t &Size);
141 newDir(
char *user=0,
int monid=0);
144 newFile(
char *user=0,
int monid=0);
152 const char *opaque = 0);
155 chmod(
const char *Name,
159 const char *opaque = 0);
171 exists(
const char *fileName,
175 const char *opaque = 0);
208 mkdir(
const char *dirName,
212 const char *opaque = 0);
220 rem(
const char *path,
223 const char *info = 0);
226 remdir(
const char *dirName,
229 const char *info = 0);
232 rename(
const char *oldFileName,
233 const char *newFileName,
236 const char *infoO = 0,
237 const char *infoN = 0);
240 stat(
const char *Name,
244 const char *opaque = 0);
247 stat(
const char *Name,
251 const char *opaque = 0);
258 const char *opaque = 0);
266 XrdSfsFileSystem *native_fs,
268 const char *config_file);
virtual uint64_t Features()
virtual int stat(const char *Name, struct stat *buf, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual int getStats(char *buff, int blen)
virtual XrdSfsXferSize pgWrite(XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize rdlen, uint32_t *csvec, uint64_t opts=0)
Definition: XrdThrottleManager.hh:41
virtual XrdSfsXferSize write(XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size)
virtual int fsctl(const int cmd, const char *args, XrdOucErrInfo &out_error, const XrdSecEntity *client)
bool m_initialized
Definition: XrdThrottle.hh:289
Definition: XrdOucStream.hh:46
int XrdSfsXferSize
Definition: XrdSfsInterface.hh:129
XrdSfsFileExistence
Definition: XrdSfsInterface.hh:131
XrdSysError & m_eroute
Definition: XrdThrottle.hh:130
virtual int exists(const char *fileName, XrdSfsFileExistence &exists_flag, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual int checkpoint(cpAct act, struct iov *range=0, int n=0)
virtual int fctl(const int cmd, const char *args, XrdOucErrInfo &eInfo)=0
virtual int open(const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client, const char *opaque=0)
std::string m_config_file
Definition: XrdThrottle.hh:287
int xtrace(XrdOucStream &Config)
virtual int mkdir(const char *dirName, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual int truncate(XrdSfsFileOffset fileOffset)
virtual void EnvInfo(XrdOucEnv *envP)
Definition: XrdSfsFAttr.hh:72
virtual const char * getVersion()
Definition: XrdOucTrace.hh:35
Definition: XrdSysError.hh:89
friend XrdSfsFileSystem * XrdSfsGetFileSystem_Internal(XrdSfsFileSystem *, XrdSysLogger *, const char *)
XrdThrottleManager & m_throttle
Definition: XrdThrottle.hh:129
Definition: XrdSfsInterface.hh:238
virtual int fctl(const int cmd, const char *args, XrdOucErrInfo &out_error)
static void Initialize(FileSystem *&fs, XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *config_file)
Definition: XrdOucIOVec.hh:65
Definition: XrdThrottle.hh:28
long long XrdSfsFileOffset
Definition: XrdSfsInterface.hh:126
virtual int getChkPSize()
XrdOucTrace m_trace
Definition: XrdThrottle.hh:286
virtual XrdSfsDirectory * newDir(char *user=0, int monid=0)
Definition: XrdOucErrInfo.hh:100
int xthrottle(XrdOucStream &Config)
Definition: XrdSfsGPFile.hh:34
std::string m_user
Definition: XrdThrottle.hh:128
virtual int rename(const char *oldFileName, const char *newFileName, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *infoO=0, const char *infoN=0)
virtual int read(XrdSfsFileOffset fileOffset, XrdSfsXferSize amount)
Definition: XrdOucEnv.hh:41
XrdSfsFileSystem * m_sfs_ptr
Definition: XrdThrottle.hh:288
XrdThrottleManager m_throttle
Definition: XrdThrottle.hh:290
virtual int FAttr(XrdSfsFACtl *faReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual int prepare(XrdSfsPrep &pargs, XrdOucErrInfo &out_error, const XrdSecEntity *client=0)
virtual int rem(const char *path, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0)
cpAct
Definition: XrdSfsInterface.hh:428
std::auto_ptr< XrdSfsFile > unique_sfs_ptr
Definition: XrdThrottle.hh:23
Definition: XrdSysLogger.hh:52
std::string m_loadshed
Definition: XrdThrottle.hh:127
virtual int gpFile(gpfFunc &gpAct, XrdSfsGPFile &gpReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual int truncate(const char *Name, XrdSfsFileOffset fileOffset, XrdOucErrInfo &out_error, const XrdSecEntity *client=0, const char *opaque=0)
virtual int getCXinfo(char cxtype[4], int &cxrsz)
virtual int SendData(XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size)
unique_sfs_ptr m_sfs
Definition: XrdThrottle.hh:125
virtual const char * FName()
int XrdSfsMode
Definition: XrdSfsInterface.hh:128
File(const char *, unique_sfs_ptr, XrdThrottleManager &, XrdSysError &)
virtual int chmod(const char *Name, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual void Disc(const XrdSecEntity *client=0)
XrdVersionInfo * myVersion
Definition: XrdThrottle.hh:291
Definition: XrdSfsDio.hh:46
virtual XrdSfsXferSize pgRead(XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize rdlen, uint32_t *csvec, uint64_t opts=0)
Definition: XrdSecEntity.hh:63
Definition: XrdSfsAio.hh:58
XrdSysError m_eroute
Definition: XrdThrottle.hh:285
Definition: XrdSfsInterface.hh:364
virtual void Connect(const XrdSecEntity *client=0)
< Prepare parameters
Definition: XrdSfsInterface.hh:167
virtual int stat(struct stat *buf)
Definition: XrdThrottle.hh:133
virtual XrdSfsFile * newFile(char *user=0, int monid=0)
int m_uid
Definition: XrdThrottle.hh:126
virtual int Configure(XrdSysError &, XrdSfsFileSystem *native_fs)
int XrdSfsFileOpenMode
Definition: XrdSfsInterface.hh:127
static FileSystem * m_instance
Definition: XrdThrottle.hh:284
virtual int remdir(const char *dirName, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0)
virtual int getMmap(void **Addr, off_t &Size)
int xloadshed(XrdOucStream &Config)
virtual int chksum(csFunc Func, const char *csName, const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)