XRootD
Loading...
Searching...
No Matches
XrdThrottleFileSystem.cc
Go to the documentation of this file.
1
2#include "XrdOfs/XrdOfs.hh"
3
5
6using namespace XrdThrottle;
7
8/*
9 * A whole ton of pass-through functions which chain to the underlying SFS.
10 */
11
14 int monid)
15{
16 return m_sfs_ptr->newDir(user, monid);
17}
18
21 int monid)
22{
23 XrdSfsFile * chain_file = m_sfs_ptr->newFile(user, monid);
24 if (chain_file)
25 {
26 unique_sfs_ptr chain_file_ptr(chain_file);
27 // We should really be giving out shared_ptrs to m_throttle, but alas, no boost.
28#if __cplusplus >= 201103L
29 return static_cast<XrdSfsFile*>(new File(user, std::move(chain_file_ptr), m_throttle, m_eroute));
30#else
31 return static_cast<XrdSfsFile*>(new File(user, chain_file_ptr, m_throttle, m_eroute));
32#endif
33 }
34 return NULL;
35}
36
37int
39 const char *csName,
40 const char *path,
41 XrdOucErrInfo &eInfo,
42 const XrdSecEntity *client,
43 const char *opaque)
44{
45 return m_sfs_ptr->chksum(Func, csName, path, eInfo, client, opaque);
46}
47
48int
49FileSystem::chmod(const char *Name,
51 XrdOucErrInfo &out_error,
52 const XrdSecEntity *client,
53 const char *opaque)
54{
55 return m_sfs_ptr->chmod(Name, Mode, out_error, client, opaque);
56}
57
58void
60{
61 m_sfs_ptr->Connect(client);
62}
63
64void
66{
67 m_sfs_ptr->Disc(client);
68}
69
70void
72{
73 m_sfs_ptr->EnvInfo(envP);
74}
75
76int
77FileSystem::exists(const char *fileName,
78 XrdSfsFileExistence &exists_flag,
79 XrdOucErrInfo &out_error,
80 const XrdSecEntity *client,
81 const char *opaque)
82{
83 return m_sfs_ptr->exists(fileName, exists_flag, out_error, client, opaque);
84}
85
86int
88 XrdOucErrInfo &eInfo,
89 const XrdSecEntity *client)
90{
91 return m_sfs_ptr->FAttr(faReq, eInfo, client);
92}
93
94uint64_t
96{
97 return m_sfs_ptr->Features();
98}
99
100int
101FileSystem::fsctl(const int cmd,
102 const char *args,
103 XrdOucErrInfo &out_error,
104 const XrdSecEntity *client)
105{
106 return m_sfs_ptr->fsctl(cmd, args, out_error, client);
107}
108
109int
111{
112 return m_sfs_ptr->getChkPSize();
113}
114
115int
117 int blen)
118{
119 return m_sfs_ptr->getStats(buff, blen);
120}
121
122const char *
124{
125 return XrdVERSION;
126}
127
128int
130 XrdSfsGPFile &gpReq,
131 XrdOucErrInfo &eInfo,
132 const XrdSecEntity *client)
133{
134 return m_sfs_ptr->gpFile(gpAct, gpReq, eInfo, client);
135}
136
137int
138FileSystem::mkdir(const char *dirName,
140 XrdOucErrInfo &out_error,
141 const XrdSecEntity *client,
142 const char *opaque)
143{
144 return m_sfs_ptr->mkdir(dirName, Mode, out_error, client, opaque);
145}
146
147int
149 XrdOucErrInfo &out_error,
150 const XrdSecEntity *client)
151{
152 return m_sfs_ptr->prepare(pargs, out_error, client);
153}
154
155int
156FileSystem::rem(const char *path,
157 XrdOucErrInfo &out_error,
158 const XrdSecEntity *client,
159 const char *info)
160{
161 return m_sfs_ptr->rem(path, out_error, client, info);
162}
163
164int
165FileSystem::remdir(const char *dirName,
166 XrdOucErrInfo &out_error,
167 const XrdSecEntity *client,
168 const char *info)
169{
170 return m_sfs_ptr->remdir(dirName, out_error, client, info);
171}
172
173int
174FileSystem::rename(const char *oldFileName,
175 const char *newFileName,
176 XrdOucErrInfo &out_error,
177 const XrdSecEntity *client,
178 const char *infoO,
179 const char *infoN)
180{
181 return m_sfs_ptr->rename(oldFileName, newFileName, out_error, client, infoO, infoN);
182}
183
184int
185FileSystem::stat(const char *Name,
186 struct stat *buf,
187 XrdOucErrInfo &out_error,
188 const XrdSecEntity *client,
189 const char *opaque)
190{
191 return m_sfs_ptr->stat(Name, buf, out_error, client, opaque);
192}
193
194int
195FileSystem::stat(const char *Name,
196 mode_t &mode,
197 XrdOucErrInfo &out_error,
198 const XrdSecEntity *client,
199 const char *opaque)
200{
201 return m_sfs_ptr->stat(Name, mode, out_error, client, opaque);
202}
203
204int
205FileSystem::truncate(const char *Name,
206 XrdSfsFileOffset fileOffset,
207 XrdOucErrInfo &out_error,
208 const XrdSecEntity *client,
209 const char *opaque)
210{
211 return m_sfs_ptr->truncate(Name, fileOffset, out_error, client, opaque);
212}
213
int Mode
XrdOucString File
int XrdSfsMode
XrdSfsFileExistence
long long XrdSfsFileOffset
< Prepare parameters
virtual int stat(struct stat *buf)=0
virtual XrdSfsFile * newFile(char *user=0, int monid=0)
virtual int rem(const char *path, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0)
virtual int fsctl(const int cmd, const char *args, XrdOucErrInfo &out_error, const XrdSecEntity *client)
virtual void Connect(const XrdSecEntity *client=0)
virtual int prepare(XrdSfsPrep &pargs, XrdOucErrInfo &out_error, const XrdSecEntity *client=0)
virtual XrdSfsDirectory * newDir(char *user=0, int monid=0)
virtual int mkdir(const char *dirName, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
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 exists(const char *fileName, XrdSfsFileExistence &exists_flag, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual int stat(const char *Name, struct stat *buf, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual const char * getVersion()
virtual int gpFile(gpfFunc &gpAct, XrdSfsGPFile &gpReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual void Disc(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 getStats(char *buff, int blen)
virtual int remdir(const char *dirName, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0)
virtual void EnvInfo(XrdOucEnv *envP)
virtual int chmod(const char *Name, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0)
virtual int FAttr(XrdSfsFACtl *faReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual int chksum(csFunc Func, const char *csName, const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)
std::auto_ptr< XrdSfsFile > unique_sfs_ptr