xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
xrdcl_proxy::ProxyPrefixFile Class Reference

#include <ProxyPrefixFile.hh>

Inheritance diagram for xrdcl_proxy::ProxyPrefixFile:
Inheritance graph
[legend]
Collaboration diagram for xrdcl_proxy::ProxyPrefixFile:
Collaboration graph
[legend]

Public Member Functions

 ProxyPrefixFile ()
 Constructor.
 
virtual ~ProxyPrefixFile () override
 Destructor.
 
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
 Open.
 
virtual XRootDStatus Close (ResponseHandler *handler, uint16_t timeout) override
 Close.
 
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, uint16_t timeout) override
 Stat.
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 Read.
 
virtual XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
 PgRead.
 
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, Buffer &&buffer, ResponseHandler *handler, uint16_t timeout=0) 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 PgWrite (uint64_t offset, uint32_t nbpgs, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout) override
 PgWrite.
 
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 WriteV (uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, uint16_t timeout=0) override
 
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, uint16_t timeout) override
 Fcntl.
 
virtual XRootDStatus Visa (ResponseHandler *handler, uint16_t timeout) override
 Visa.
 
virtual bool IsOpen () const override
 IsOpen.
 
virtual bool SetProperty (const std::string &name, const std::string &value) override
 SetProperty.
 
virtual bool GetProperty (const std::string &name, std::string &value) const override
 GetProperty.
 
- 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)
 

Private Member Functions

std::string trim (const std::string &in) const
 
std::string GetPrefixUrl () const
 
std::list< std::string > GetExclDomains () const
 
std::string ConstructFinalUrl (const std::string &orig_url) const
 
std::string GetFqdn (const std::string &hostname) const
 

Private Attributes

bool mIsOpen
 
XrdCl::FilepFile
 

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.

Constructor & Destructor Documentation

◆ ProxyPrefixFile()

xrdcl_proxy::ProxyPrefixFile::ProxyPrefixFile ( )

Constructor.

◆ ~ProxyPrefixFile()

virtual xrdcl_proxy::ProxyPrefixFile::~ProxyPrefixFile ( )
overridevirtual

Destructor.

Member Function Documentation

◆ Close()

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

Close.

Reimplemented from XrdCl::FilePlugIn.

References XrdCl::File::Close(), and pFile.

◆ ConstructFinalUrl()

std::string xrdcl_proxy::ProxyPrefixFile::ConstructFinalUrl ( const std::string &  orig_url) const
private

Construct final URL if there is a proxy prefix URL specified and if the exclusion list is satisfied

Parameters
orig_urloriginal url
Returns
final URL

◆ Fcntl()

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

Fcntl.

Reimplemented from XrdCl::FilePlugIn.

References XrdCl::File::Fcntl(), and pFile.

◆ GetExclDomains()

std::list< std::string > xrdcl_proxy::ProxyPrefixFile::GetExclDomains ( ) const
private

Get list of domains which are NOT to be prefixed

Returns
list of excluded domains

◆ GetFqdn()

std::string xrdcl_proxy::ProxyPrefixFile::GetFqdn ( const std::string &  hostname) const
private

Get FQDN for specified host

Parameters
hostnamehostname without domain
Returns
FQDN

◆ GetPrefixUrl()

std::string xrdcl_proxy::ProxyPrefixFile::GetPrefixUrl ( ) const
inlineprivate

Get proxy prefix URL from the environment

Returns
proxy prefix RUL

◆ GetProperty()

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

GetProperty.

Reimplemented from XrdCl::FilePlugIn.

References XrdCl::File::GetProperty(), and pFile.

◆ IsOpen()

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

IsOpen.

Reimplemented from XrdCl::FilePlugIn.

References XrdCl::File::IsOpen(), and pFile.

◆ Open()

virtual 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.

◆ 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.

References pFile, and XrdCl::File::PgRead().

◆ 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.

References pFile, and XrdCl::File::PgWrite().

◆ 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.

References pFile, and XrdCl::File::Read().

◆ SetProperty()

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

SetProperty.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::SetProperty().

◆ Stat()

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

Stat.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::Stat().

◆ Sync()

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

Sync.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::Sync().

◆ trim()

std::string xrdcl_proxy::ProxyPrefixFile::trim ( const std::string &  in) const
inlineprivate

Trim whitespaces from both ends of a string

Returns
trimmed string

◆ Truncate()

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

Truncate.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::Truncate().

◆ VectorRead()

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

VectorRead.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::VectorRead().

◆ VectorWrite()

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

VectorWrite.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::VectorWrite().

◆ Visa()

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

Visa.

Reimplemented from XrdCl::FilePlugIn.

References pFile, and XrdCl::File::Visa().

◆ 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.

References pFile, and XrdCl::File::Write().

◆ 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.

References pFile, and XrdCl::File::Write().

◆ 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.

References pFile, and XrdCl::File::Write().

◆ 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.

References pFile, and XrdCl::File::WriteV().

Member Data Documentation

◆ mIsOpen

bool xrdcl_proxy::ProxyPrefixFile::mIsOpen
private

◆ pFile

XrdCl::File* xrdcl_proxy::ProxyPrefixFile::pFile
private

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