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]

List of all members.

Public Member Functions

 ProxyPrefixFile ()
 Constructor.
virtual ~ProxyPrefixFile ()
 Destructor.
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout)
 Open.
virtual XRootDStatus Close (ResponseHandler *handler, uint16_t timeout)
 Close.
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, uint16_t timeout)
 Stat.
virtual XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout)
 Read.
virtual XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout)
 Write.
virtual XRootDStatus Sync (ResponseHandler *handler, uint16_t timeout)
 Sync.
virtual XRootDStatus Truncate (uint64_t size, ResponseHandler *handler, uint16_t timeout)
 Truncate.
virtual XRootDStatus VectorRead (const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout)
 VectorRead.
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, uint16_t timeout)
 Fcntl.
virtual XRootDStatus Visa (ResponseHandler *handler, uint16_t timeout)
 Visa.
virtual bool IsOpen () const
 IsOpen.
virtual bool SetProperty (const std::string &name, const std::string &value)
 SetProperty.
virtual bool GetProperty (const std::string &name, std::string &value) const
 GetProperty.

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

xrdcl_proxy::ProxyPrefixFile::ProxyPrefixFile (  ) 

Constructor.

virtual xrdcl_proxy::ProxyPrefixFile::~ProxyPrefixFile (  )  [virtual]

Destructor.


Member Function Documentation

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Close ( ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Close.

Reimplemented from XrdCl::FilePlugIn.

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

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_url original url
Returns:
final URL
virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Fcntl ( const Buffer arg,
ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Fcntl.

Reimplemented from XrdCl::FilePlugIn.

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

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
std::string xrdcl_proxy::ProxyPrefixFile::GetFqdn ( const std::string &  hostname  )  const [private]

Get FQDN for specified host

Parameters:
hostname hostname without domain
Returns:
FQDN
std::string xrdcl_proxy::ProxyPrefixFile::GetPrefixUrl (  )  const [inline, private]

Get proxy prefix URL from the environment

Returns:
proxy prefix RUL
virtual bool xrdcl_proxy::ProxyPrefixFile::GetProperty ( const std::string &  name,
std::string &  value 
) const [inline, virtual]

GetProperty.

Reimplemented from XrdCl::FilePlugIn.

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

virtual bool xrdcl_proxy::ProxyPrefixFile::IsOpen (  )  const [inline, virtual]

IsOpen.

Reimplemented from XrdCl::FilePlugIn.

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

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

Open.

Reimplemented from XrdCl::FilePlugIn.

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

Read.

Reimplemented from XrdCl::FilePlugIn.

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

virtual bool xrdcl_proxy::ProxyPrefixFile::SetProperty ( const std::string &  name,
const std::string &  value 
) [inline, virtual]

SetProperty.

Reimplemented from XrdCl::FilePlugIn.

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

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Stat ( bool  force,
ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Stat.

Reimplemented from XrdCl::FilePlugIn.

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

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Sync ( ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Sync.

Reimplemented from XrdCl::FilePlugIn.

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

std::string xrdcl_proxy::ProxyPrefixFile::trim ( const std::string &  in  )  const [inline, private]

Trim whitespaces from both ends of a string

Returns:
trimmed string
virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Truncate ( uint64_t  size,
ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Truncate.

Reimplemented from XrdCl::FilePlugIn.

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

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

VectorRead.

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

virtual XRootDStatus xrdcl_proxy::ProxyPrefixFile::Visa ( ResponseHandler handler,
uint16_t  timeout 
) [inline, virtual]

Visa.

Reimplemented from XrdCl::FilePlugIn.

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

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

Write.

Reimplemented from XrdCl::FilePlugIn.

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


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 30 Sep 2019 for xrootd by  doxygen 1.6.1