XRootD
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. More...
 
virtual ~ProxyPrefixFile () override
 Destructor. More...
 
virtual XRootDStatus Close (ResponseHandler *handler, uint16_t timeout) override
 Close. More...
 
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, uint16_t timeout) override
 Fcntl. More...
 
virtual bool GetProperty (const std::string &name, std::string &value) const override
 GetProperty. More...
 
virtual bool IsOpen () const override
 IsOpen. More...
 
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
 Open. More...
 
virtual XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 PgRead. More...
 
virtual XRootDStatus PgWrite (uint64_t offset, uint32_t nbpgs, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout) override
 PgWrite. More...
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 Read. More...
 
virtual bool SetProperty (const std::string &name, const std::string &value) override
 SetProperty. More...
 
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, uint16_t timeout) override
 Stat. More...
 
virtual XRootDStatus Sync (ResponseHandler *handler, uint16_t timeout) override
 Sync. More...
 
virtual XRootDStatus Truncate (uint64_t size, ResponseHandler *handler, uint16_t timeout) override
 Truncate. More...
 
virtual XRootDStatus VectorRead (const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 VectorRead. More...
 
virtual XRootDStatus VectorWrite (const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout=0) override
 VectorWrite. More...
 
virtual XRootDStatus Visa (ResponseHandler *handler, uint16_t timeout) override
 Visa. More...
 
virtual XRootDStatus Write (uint64_t offset, Buffer &&buffer, ResponseHandler *handler, uint16_t timeout=0) override
 Write. More...
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout) override
 Write. More...
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, uint16_t timeout=0) override
 Write. More...
 
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. More...
 
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 41 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 66 of file ProxyPrefixFile.hh.

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

◆ Fcntl()

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

Fcntl.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 211 of file ProxyPrefixFile.hh.

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

◆ GetProperty()

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

GetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 247 of file ProxyPrefixFile.hh.

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

◆ IsOpen()

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

IsOpen.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 230 of file ProxyPrefixFile.hh.

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

◆ 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 }
XrdOucString File
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.
Definition: XrdClStatus.hh:32
const uint16_t errInvalidOp
Definition: XrdClStatus.hh:51
bool IsOK() const
We're fine.
Definition: XrdClStatus.hh:124

References XrdCl::errInvalidOp, File, 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 98 of file ProxyPrefixFile.hh.

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

◆ 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 146 of file ProxyPrefixFile.hh.

152  {
153  return pFile->PgWrite(offset, nbpgs, buffer, cksums, handler, timeout);
154  }
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

◆ 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 86 of file ProxyPrefixFile.hh.

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

◆ SetProperty()

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

SetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 238 of file ProxyPrefixFile.hh.

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

◆ Stat()

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

Stat.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 75 of file ProxyPrefixFile.hh.

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

◆ Sync()

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

Sync.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 159 of file ProxyPrefixFile.hh.

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

◆ Truncate()

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

Truncate.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 168 of file ProxyPrefixFile.hh.

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

◆ 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 178 of file ProxyPrefixFile.hh.

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

◆ 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 189 of file ProxyPrefixFile.hh.

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

◆ Visa()

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

Visa.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 221 of file ProxyPrefixFile.hh.

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

◆ 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 122 of file ProxyPrefixFile.hh.

126  {
127  return pFile->Write(offset, std::move(buffer), handler, timeout);
128  }
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

◆ 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 110 of file ProxyPrefixFile.hh.

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

◆ 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 133 of file ProxyPrefixFile.hh.

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

◆ 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 199 of file ProxyPrefixFile.hh.

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

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