1 #ifndef __XRDTHROTTLE_H_
2 #define __XRDTHROTTLE_H_
7 #include "XrdVersion.hh"
18 namespace XrdThrottle {
20 #if __cplusplus >= 201103L
28 class File :
public XrdSfsFile {
35 open(
const char *fileName,
39 const char *opaque = 0);
44 using XrdSfsFile::fctl;
54 getMmap(
void **Addr, off_t &Size);
117 virtual XrdSfsDirectory *
118 newDir(
char *user=0,
int monid=0);
121 newFile(
char *user=0,
int monid=0);
129 const char *opaque = 0);
132 chmod(
const char *Name,
136 const char *opaque = 0);
145 exists(
const char *fileName,
149 const char *opaque = 0);
164 mkdir(
const char *dirName,
168 const char *opaque = 0);
176 rem(
const char *path,
179 const char *info = 0);
182 remdir(
const char *dirName,
185 const char *info = 0);
188 rename(
const char *oldFileName,
189 const char *newFileName,
192 const char *infoO = 0,
193 const char *infoN = 0);
196 stat(
const char *Name,
200 const char *opaque = 0);
203 stat(
const char *Name,
207 const char *opaque = 0);
214 const char *opaque = 0);
222 XrdSfsFileSystem *native_fs,
224 const char *config_file);
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)
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:245
Definition: XrdOucStream.hh:45
int XrdSfsXferSize
Definition: XrdSfsInterface.hh:122
XrdSfsFileExistence
Definition: XrdSfsInterface.hh:124
XrdSysError & m_eroute
Definition: XrdThrottle.hh:107
virtual int exists(const char *fileName, XrdSfsFileExistence &exists_flag, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=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:243
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)
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:106
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: XrdThrottle.hh:28
long long XrdSfsFileOffset
Definition: XrdSfsInterface.hh:119
XrdOucTrace m_trace
Definition: XrdThrottle.hh:242
virtual XrdSfsDirectory * newDir(char *user=0, int monid=0)
Definition: XrdOucErrInfo.hh:99
int xthrottle(XrdOucStream &Config)
std::string m_user
Definition: XrdThrottle.hh:105
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:244
XrdThrottleManager m_throttle
Definition: XrdThrottle.hh:246
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)
std::auto_ptr< XrdSfsFile > unique_sfs_ptr
Definition: XrdThrottle.hh:23
Definition: XrdSysLogger.hh:52
std::string m_loadshed
Definition: XrdThrottle.hh:104
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:102
virtual const char * FName()
File(const char *user, int monid, unique_sfs_ptr, XrdThrottleManager &throttle, XrdSysError &eroute)
int XrdSfsMode
Definition: XrdSfsInterface.hh:121
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:247
Definition: XrdSfsDio.hh:46
Definition: XrdSecEntity.hh:51
Definition: XrdSfsAio.hh:57
XrdSysError m_eroute
Definition: XrdThrottle.hh:241
< Prepare parameters
Definition: XrdSfsInterface.hh:160
virtual int stat(struct stat *buf)
Definition: XrdThrottle.hh:110
virtual XrdSfsFile * newFile(char *user=0, int monid=0)
int m_uid
Definition: XrdThrottle.hh:103
virtual int Configure(XrdSysError &, XrdSfsFileSystem *native_fs)
int XrdSfsFileOpenMode
Definition: XrdSfsInterface.hh:120
static FileSystem * m_instance
Definition: XrdThrottle.hh:240
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)