XRootD
Loading...
Searching...
No Matches
xrdcl_proxy::ProxyPrefixFile Class Reference

#include <ProxyPrefixFile.hh>

+ Inheritance diagram for xrdcl_proxy::ProxyPrefixFile:
+ Collaboration diagram for xrdcl_proxy::ProxyPrefixFile:

Public Member Functions

 ProxyPrefixFile ()
 Constructor.
 
virtual ~ProxyPrefixFile () override
 Destructor.
 
virtual XRootDStatus Close (ResponseHandler *handler, uint16_t timeout) override
 Close.
 
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, uint16_t timeout) override
 Fcntl.
 
virtual bool GetProperty (const std::string &name, std::string &value) const override
 GetProperty.
 
virtual bool IsOpen () const override
 IsOpen.
 
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
 Open.
 
virtual XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 PgRead.
 
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 Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 Read.
 
virtual bool SetProperty (const std::string &name, const std::string &value) override
 SetProperty.
 
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, uint16_t timeout) override
 Stat.
 
virtual XRootDStatus Sync (ResponseHandler *handler, uint16_t timeout) override
 Sync.
 
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 VectorWrite (const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout=0) override
 VectorWrite.
 
virtual XRootDStatus Visa (ResponseHandler *handler, uint16_t timeout) override
 Visa.
 
virtual XRootDStatus Write (uint64_t offset, Buffer &&buffer, ResponseHandler *handler, uint16_t timeout=0) override
 Write.
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout) override
 Write.
 
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 WriteV (uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, uint16_t timeout=0) override
 
- Public Member Functions inherited from XrdCl::FilePlugIn
virtual ~FilePlugIn ()
 Destructor.
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, uint16_t timeout=0)
 

Detailed Description

XrdClFile plugin that appends an URL prefix to the given URL. The URL prefix is set as an environment variable XRD_URL_PREFIX.

Definition at line 39 of file ProxyPrefixFile.hh.

Constructor & Destructor Documentation

◆ ProxyPrefixFile()

xrdcl_proxy::ProxyPrefixFile::ProxyPrefixFile ( )

Constructor.

Definition at line 40 of file ProxyPrefixFile.cc.

40 :
41 mIsOpen(false),
42 pFile(0)
43{}

◆ ~ProxyPrefixFile()

xrdcl_proxy::ProxyPrefixFile::~ProxyPrefixFile ( )
overridevirtual

Destructor.

Definition at line 48 of file ProxyPrefixFile.cc.

49{
50 if (pFile) {
51 delete pFile;
52 }
53}

Member Function Documentation

◆ Close()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Close ( ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Close.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 64 of file ProxyPrefixFile.hh.

66 {
67 return pFile->Close(handler, timeout);
68 }
XRootDStatus Close(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:151

References XrdCl::File::Close().

+ Here is the call graph for this function:

◆ Fcntl()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Fcntl ( const Buffer & arg,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Fcntl.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 209 of file ProxyPrefixFile.hh.

212 {
213 return pFile->Fcntl(arg, handler, timeout);
214 }
XRootDStatus Fcntl(const Buffer &arg, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:610

References XrdCl::File::Fcntl().

+ Here is the call graph for this function:

◆ GetProperty()

virtual bool xrdcl_proxy::ProxyPrefixFile::GetProperty ( const std::string & name,
std::string & value ) const
inlineoverridevirtual

GetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 245 of file ProxyPrefixFile.hh.

247 {
248 return pFile->GetProperty(name, value);
249 }
bool GetProperty(const std::string &name, std::string &value) const
Definition XrdClFile.cc:878

References XrdCl::File::GetProperty().

+ Here is the call graph for this function:

◆ IsOpen()

virtual bool xrdcl_proxy::ProxyPrefixFile::IsOpen ( ) const
inlineoverridevirtual

IsOpen.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 228 of file ProxyPrefixFile.hh.

229 {
230 return pFile->IsOpen();
231 }
bool IsOpen() const
Check if the file is open.
Definition XrdClFile.cc:846

References XrdCl::File::IsOpen().

+ Here is the call graph for this function:

◆ Open()

XRootDStatus xrdcl_proxy::ProxyPrefixFile::Open ( const std::string & url,
OpenFlags::Flags flags,
Access::Mode mode,
ResponseHandler * handler,
uint16_t timeout )
overridevirtual

Open.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 59 of file ProxyPrefixFile.cc.

64{
65 XRootDStatus st;
66
67 if (mIsOpen) {
69 return st;
70 }
71
72 pFile = new XrdCl::File(false);
73 std::string open_url = ConstructFinalUrl(url);
74 st = pFile->Open(open_url, flags, mode, handler, timeout);
75
76 if (st.IsOK()) {
77 mIsOpen = true;
78 }
79
80 return st;
81}
A file.
Definition XrdClFile.hh:46
XRootDStatus Open(const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:99
const uint16_t stError
An error occurred that could potentially be retried.
const uint16_t errInvalidOp
bool IsOK() const
We're fine.

References XrdCl::errInvalidOp, XrdCl::Status::IsOK(), XrdCl::File::Open(), and XrdCl::stError.

+ Here is the call graph for this function:

◆ PgRead()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::PgRead ( uint64_t offset,
uint32_t size,
void * buffer,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

PgRead.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 96 of file ProxyPrefixFile.hh.

101 {
102 return pFile->PgRead(offset, size, buffer, handler, timeout);
103 }
XRootDStatus PgRead(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:245

References XrdCl::File::PgRead().

+ Here is the call graph for this function:

◆ PgWrite()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::PgWrite ( uint64_t offset,
uint32_t nbpgs,
const void * buffer,
std::vector< uint32_t > & cksums,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

PgWrite.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 144 of file ProxyPrefixFile.hh.

150 {
151 return pFile->PgWrite(offset, nbpgs, buffer, cksums, handler, timeout);
152 }
XRootDStatus PgWrite(uint64_t offset, uint32_t size, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:380

References XrdCl::File::PgWrite().

+ Here is the call graph for this function:

◆ Read()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Read ( uint64_t offset,
uint32_t size,
void * buffer,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Read.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 84 of file ProxyPrefixFile.hh.

89 {
90 return pFile->Read(offset, size, buffer, handler, timeout);
91 }
XRootDStatus Read(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:206

References XrdCl::File::Read().

+ Here is the call graph for this function:

◆ SetProperty()

virtual bool xrdcl_proxy::ProxyPrefixFile::SetProperty ( const std::string & name,
const std::string & value )
inlineoverridevirtual

SetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 236 of file ProxyPrefixFile.hh.

238 {
239 return pFile->SetProperty(name, value);
240 }
bool SetProperty(const std::string &name, const std::string &value)
Definition XrdClFile.cc:867

References XrdCl::File::SetProperty().

+ Here is the call graph for this function:

◆ Stat()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Stat ( bool force,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Stat.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 73 of file ProxyPrefixFile.hh.

76 {
77 return pFile->Stat(force, handler, timeout);
78 }
XRootDStatus Stat(bool force, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:177

References XrdCl::File::Stat().

+ Here is the call graph for this function:

◆ Sync()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Sync ( ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Sync.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 157 of file ProxyPrefixFile.hh.

159 {
160 return pFile->Sync(handler, timeout);
161 }
XRootDStatus Sync(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:414

References XrdCl::File::Sync().

+ Here is the call graph for this function:

◆ Truncate()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Truncate ( uint64_t size,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Truncate.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 166 of file ProxyPrefixFile.hh.

169 {
170 return pFile->Truncate(size, handler, timeout);
171 }
XRootDStatus Truncate(uint64_t size, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:440

References XrdCl::File::Truncate().

+ Here is the call graph for this function:

◆ VectorRead()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::VectorRead ( const ChunkList & chunks,
void * buffer,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

VectorRead.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 176 of file ProxyPrefixFile.hh.

180 {
181 return pFile->VectorRead(chunks, buffer, handler, timeout);
182 }
XRootDStatus VectorRead(const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:468

References XrdCl::File::VectorRead().

+ Here is the call graph for this function:

◆ VectorWrite()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::VectorWrite ( const ChunkList & chunks,
ResponseHandler * handler,
uint16_t timeout = 0 )
inlineoverridevirtual

VectorWrite.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 187 of file ProxyPrefixFile.hh.

190 {
191 return pFile->VectorWrite(chunks, handler, timeout);
192 }
XRootDStatus VectorWrite(const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:498

References XrdCl::File::VectorWrite().

+ Here is the call graph for this function:

◆ Visa()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Visa ( ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Visa.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 219 of file ProxyPrefixFile.hh.

221 {
222 return pFile->Visa(handler, timeout);
223 }
XRootDStatus Visa(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Get access token to a file - async.
Definition XrdClFile.cc:639

References XrdCl::File::Visa().

+ Here is the call graph for this function:

◆ Write() [1/3]

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Write ( uint64_t offset,
Buffer && buffer,
ResponseHandler * handler,
uint16_t timeout = 0 )
inlineoverridevirtual

Write.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 120 of file ProxyPrefixFile.hh.

124 {
125 return pFile->Write(offset, std::move(buffer), handler, timeout);
126 }
XRootDStatus Write(uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:286

References XrdCl::File::Write().

+ Here is the call graph for this function:

◆ Write() [2/3]

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Write ( uint64_t offset,
uint32_t size,
const void * buffer,
ResponseHandler * handler,
uint16_t timeout )
inlineoverridevirtual

Write.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 108 of file ProxyPrefixFile.hh.

113 {
114 return pFile->Write(offset, size, buffer, handler, timeout);
115 }

References XrdCl::File::Write().

+ Here is the call graph for this function:

◆ Write() [3/3]

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Write ( uint64_t offset,
uint32_t size,
Optional< uint64_t > fdoff,
int fd,
ResponseHandler * handler,
uint16_t timeout = 0 )
inlineoverridevirtual

Write.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 131 of file ProxyPrefixFile.hh.

137 {
138 return pFile->Write(offset, size, fdoff, fd, handler, timeout);
139 }

References XrdCl::File::Write().

+ Here is the call graph for this function:

◆ WriteV()

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::WriteV ( uint64_t offset,
const struct iovec * iov,
int iovcnt,
ResponseHandler * handler,
uint16_t timeout = 0 )
inlineoverridevirtual
See also
XrdCl::File::WriteV

Reimplemented from XrdCl::FilePlugIn.

Definition at line 197 of file ProxyPrefixFile.hh.

202 {
203 return pFile->WriteV(offset, iov, iovcnt, handler, timeout);
204 }
XRootDStatus WriteV(uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, uint16_t timeout=0)
Definition XrdClFile.cc:525

References XrdCl::File::WriteV().

+ Here is the call graph for this function:

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