25 #ifndef SRC_XRDAPPS_PROXYPLUGIN_PROXYPREFIXFILE_HH_
26 #define SRC_XRDAPPS_PROXYPLUGIN_PROXYPREFIXFILE_HH_
33 using namespace XrdCl;
61 uint16_t timeout)
override;
67 uint16_t timeout)
override
69 return pFile->Close(handler, timeout);
77 uint16_t timeout)
override
79 return pFile->Stat(force, handler, timeout);
90 uint16_t timeout)
override
92 return pFile->Read(offset, size, buffer, handler, timeout);
102 uint16_t timeout )
override
104 return pFile->PgRead(offset, size, buffer, handler, timeout);
114 uint16_t timeout)
override
116 return pFile->Write(offset, size, buffer, handler, timeout);
125 uint16_t timeout = 0 )
override
127 return pFile->Write(offset, std::move(buffer), handler, timeout);
138 uint16_t timeout = 0 )
override
140 return pFile->Write(offset, size, fdoff, fd, handler, timeout);
149 std::vector<uint32_t> &cksums,
151 uint16_t timeout )
override
153 return pFile->PgWrite(offset, nbpgs, buffer, cksums, handler, timeout);
160 uint16_t timeout)
override
162 return pFile->Sync(handler, timeout);
170 uint16_t timeout)
override
172 return pFile->Truncate(size, handler, timeout);
181 uint16_t timeout)
override
183 return pFile->VectorRead(chunks, buffer, handler, timeout);
191 uint16_t timeout = 0 )
override
193 return pFile->VectorWrite(chunks, handler, timeout);
200 const struct iovec *
iov,
203 uint16_t timeout = 0 )
override
205 return pFile->WriteV(offset,
iov, iovcnt, handler, timeout);
213 uint16_t timeout)
override
215 return pFile->Fcntl(arg, handler, timeout);
222 uint16_t timeout)
override
224 return pFile->Visa(handler, timeout);
232 return pFile->IsOpen();
239 const std::string& value)
override
241 return pFile->SetProperty(name, value);
248 std::string& value)
const override
250 return pFile->GetProperty(name, value);
260 inline std::string
trim(
const std::string& in)
const;
267 inline std::string GetPrefixUrl()
const;
274 std::list<std::string> GetExclDomains()
const;
284 std::string ConstructFinalUrl(
const std::string& orig_url)
const;
293 std::string GetFqdn(
const std::string& hostname)
const;
void trim(std::string &str)
Binary blob representation.
An interface for file plug-ins.
Handle an async response.
virtual XRootDStatus Write(uint64_t offset, Buffer &&buffer, ResponseHandler *handler, uint16_t timeout=0) override
Write.
virtual XRootDStatus Fcntl(const Buffer &arg, ResponseHandler *handler, uint16_t timeout) override
Fcntl.
virtual XRootDStatus Close(ResponseHandler *handler, uint16_t timeout) override
Close.
virtual XRootDStatus Truncate(uint64_t size, ResponseHandler *handler, uint16_t timeout) override
Truncate.
virtual XRootDStatus VectorRead(const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout) override
VectorRead.
virtual XRootDStatus PgRead(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
PgRead.
virtual bool SetProperty(const std::string &name, const std::string &value) override
SetProperty.
virtual XRootDStatus VectorWrite(const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout=0) override
VectorWrite.
virtual XRootDStatus PgWrite(uint64_t offset, uint32_t nbpgs, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout) override
PgWrite.
virtual XRootDStatus Write(uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, uint16_t timeout=0) override
Write.
virtual XRootDStatus Stat(bool force, ResponseHandler *handler, uint16_t timeout) override
Stat.
virtual XRootDStatus Visa(ResponseHandler *handler, uint16_t timeout) override
Visa.
virtual XRootDStatus Read(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
Read.
virtual bool IsOpen() const override
IsOpen.
virtual bool GetProperty(const std::string &name, std::string &value) const override
GetProperty.
virtual XRootDStatus Write(uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout) override
Write.
virtual XRootDStatus Sync(ResponseHandler *handler, uint16_t timeout) override
Sync.
virtual XRootDStatus WriteV(uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, uint16_t timeout=0) override
OpenImpl< false > Open(Ctx< File > file, Arg< std::string > url, Arg< OpenFlags::Flags > flags, Arg< Access::Mode > mode=Access::None, uint16_t timeout=0)
Factory for creating ReadImpl objects.
std::vector< ChunkInfo > ChunkList
List of chunks.
Flags
Open flags, may be or'd when appropriate.