XRootD
XrdClHttp::File Class Referencefinal

#include <XrdClHttpFile.hh>

+ Inheritance diagram for XrdClHttp::File:
+ Collaboration diagram for XrdClHttp::File:

Public Member Functions

 File (std::shared_ptr< XrdClHttp::HandlerQueue > queue, XrdCl::Log *log)
 
virtual ~File () noexcept
 
virtual XrdCl::XRootDStatus Close (XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus Fcntl (const XrdCl::Buffer &arg, XrdCl::ResponseHandler *handler, time_t timeout) override
 
XrdCl::OpenFlags::Flags Flags () const
 
struct timespec GetHeaderTimeout (time_t oper_timeout) const
 
virtual bool GetProperty (const std::string &name, std::string &value) const override
 
virtual bool IsOpen () const override
 
virtual XrdCl::XRootDStatus Open (const std::string &url, XrdCl::OpenFlags::Flags flags, XrdCl::Access::Mode mode, XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, XrdCl::ResponseHandler *handler, time_t timeout) override
 
void SetHeaderTimeout (const struct timespec &ts)
 
virtual bool SetProperty (const std::string &name, const std::string &value) override
 
virtual XrdCl::XRootDStatus Stat (bool force, XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus VectorRead (const XrdCl::ChunkList &chunks, void *buffer, XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, XrdCl::ResponseHandler *handler, time_t timeout) override
 
virtual XrdCl::XRootDStatus Write (uint64_t offset, XrdCl::Buffer &&buffer, XrdCl::ResponseHandler *handler, time_t timeout) override
 
- Public Member Functions inherited from XrdCl::FilePlugIn
virtual ~FilePlugIn ()
 Destructor. More...
 
virtual XRootDStatus Clone (const CloneLocations &locs, ResponseHandler *handler, time_t timeout)
 
virtual std::unique_ptr< ExportedFileTemplateExportTemplate () const
 
virtual XRootDStatus Fcntl (QueryCode::Code queryCode, const Buffer &arg, ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus OpenUsingTemplate (ExportedFileTemplate *templ, const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus PgWrite (uint64_t offset, uint32_t nbpgs, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus PreRead (const TractList &tracts, ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, time_t timeout=0)
 
virtual XRootDStatus Sync (ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus Truncate (uint64_t size, ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus VectorWrite (const ChunkList &chunks, ResponseHandler *handler, time_t timeout=0)
 
virtual XRootDStatus Visa (ResponseHandler *handler, time_t timeout)
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, time_t timeout=0)
 
virtual XRootDStatus WriteV (uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, time_t timeout=0)
 

Static Public Member Functions

static const struct timespec & GetDefaultHeaderTimeout ()
 
static struct timespec GetFederationMetadataTimeout ()
 
static struct timespec GetHeaderTimeoutWithDefault (time_t oper_timeout, const struct timespec &header_timeout)
 
static const struct timespec & GetMinimumHeaderTimeout ()
 
static std::string GetMonitoringJson ()
 
static struct timespec ParseHeaderTimeout (const std::string &header_value, XrdCl::Log *logger)
 
static void SetDefaultHeaderTimeout (struct timespec &ts)
 
static void SetFederationMetadataTimeout (const struct timespec &ts)
 
static void SetMinimumHeaderTimeout (struct timespec &ts)
 

Detailed Description

Definition at line 43 of file XrdClHttpFile.hh.

Constructor & Destructor Documentation

◆ File()

XrdClHttp::File::File ( std::shared_ptr< XrdClHttp::HandlerQueue queue,
XrdCl::Log log 
)
inline

Definition at line 45 of file XrdClHttpFile.hh.

45  :
46  m_queue(queue),
47  m_logger(log),
48  m_default_put_handler(new PutDefaultHandler(*this))
49  {}

◆ ~File()

virtual XrdClHttp::File::~File ( )
virtualnoexcept

Member Function Documentation

◆ Close()

virtual XrdCl::XRootDStatus XrdClHttp::File::Close ( XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Close

Reimplemented from XrdCl::FilePlugIn.

◆ Fcntl()

virtual XrdCl::XRootDStatus XrdClHttp::File::Fcntl ( const XrdCl::Buffer arg,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Fcntl

Reimplemented from XrdCl::FilePlugIn.

◆ Flags()

XrdCl::OpenFlags::Flags XrdClHttp::File::Flags ( ) const
inline

Definition at line 107 of file XrdClHttpFile.hh.

107 {return m_open_flags;}

Referenced by XrdClHttp::CurlOpenOp::Fail().

+ Here is the caller graph for this function:

◆ GetDefaultHeaderTimeout()

static const struct timespec& XrdClHttp::File::GetDefaultHeaderTimeout ( )
inlinestatic

Definition at line 119 of file XrdClHttpFile.hh.

119 {return m_default_header_timeout;}

◆ GetFederationMetadataTimeout()

static struct timespec XrdClHttp::File::GetFederationMetadataTimeout ( )
inlinestatic

Definition at line 134 of file XrdClHttpFile.hh.

137 {return m_fed_timeout;}

References ts().

+ Here is the call graph for this function:

◆ GetHeaderTimeout()

struct timespec XrdClHttp::File::GetHeaderTimeout ( time_t  oper_timeout) const

References ts().

+ Here is the call graph for this function:

◆ GetHeaderTimeoutWithDefault()

static struct timespec XrdClHttp::File::GetHeaderTimeoutWithDefault ( time_t  oper_timeout,
const struct timespec &  header_timeout 
)
static

◆ GetMinimumHeaderTimeout()

static const struct timespec& XrdClHttp::File::GetMinimumHeaderTimeout ( )
inlinestatic

Definition at line 113 of file XrdClHttpFile.hh.

113 {return m_min_client_timeout;}

◆ GetMonitoringJson()

static std::string XrdClHttp::File::GetMonitoringJson ( )
static

◆ GetProperty()

virtual bool XrdClHttp::File::GetProperty ( const std::string &  name,
std::string &  value 
) const
overridevirtual
See also
XrdCl::File::GetProperty

Reimplemented from XrdCl::FilePlugIn.

◆ IsOpen()

virtual bool XrdClHttp::File::IsOpen ( ) const
overridevirtual
See also
XrdCl::File::IsOpen

Reimplemented from XrdCl::FilePlugIn.

◆ Open()

virtual XrdCl::XRootDStatus XrdClHttp::File::Open ( const std::string &  url,
XrdCl::OpenFlags::Flags  flags,
XrdCl::Access::Mode  mode,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Open

Reimplemented from XrdCl::FilePlugIn.

◆ ParseHeaderTimeout()

static struct timespec XrdClHttp::File::ParseHeaderTimeout ( const std::string &  header_value,
XrdCl::Log logger 
)
static

◆ PgRead()

virtual XrdCl::XRootDStatus XrdClHttp::File::PgRead ( uint64_t  offset,
uint32_t  size,
void *  buffer,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl:File PgRead

Reimplemented from XrdCl::FilePlugIn.

◆ Read()

virtual XrdCl::XRootDStatus XrdClHttp::File::Read ( uint64_t  offset,
uint32_t  size,
void *  buffer,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Read

Reimplemented from XrdCl::FilePlugIn.

◆ SetDefaultHeaderTimeout()

static void XrdClHttp::File::SetDefaultHeaderTimeout ( struct timespec &  ts)
inlinestatic

Definition at line 116 of file XrdClHttpFile.hh.

116 {m_default_header_timeout.tv_sec = ts.tv_sec; m_default_header_timeout.tv_nsec = ts.tv_nsec;}
static std::string ts()
timestamp output for logging messages
Definition: XrdCephOss.cc:53

References ts().

+ Here is the call graph for this function:

◆ SetFederationMetadataTimeout()

static void XrdClHttp::File::SetFederationMetadataTimeout ( const struct timespec &  ts)
inlinestatic

Definition at line 134 of file XrdClHttpFile.hh.

134 {m_fed_timeout.tv_sec = ts.tv_sec; m_fed_timeout.tv_nsec = ts.tv_nsec;}

◆ SetHeaderTimeout()

void XrdClHttp::File::SetHeaderTimeout ( const struct timespec &  ts)
inline

Definition at line 122 of file XrdClHttpFile.hh.

122 {m_header_timeout.tv_sec = ts.tv_sec; m_header_timeout.tv_nsec = ts.tv_nsec;}

◆ SetMinimumHeaderTimeout()

static void XrdClHttp::File::SetMinimumHeaderTimeout ( struct timespec &  ts)
inlinestatic

Definition at line 110 of file XrdClHttpFile.hh.

110 {m_min_client_timeout.tv_sec = ts.tv_sec; m_min_client_timeout.tv_nsec = ts.tv_nsec;}

References ts().

+ Here is the call graph for this function:

◆ SetProperty()

virtual bool XrdClHttp::File::SetProperty ( const std::string &  name,
const std::string &  value 
)
overridevirtual
See also
XrdCl::File::SetProperty

Reimplemented from XrdCl::FilePlugIn.

Referenced by XrdClHttp::CurlOpenOp::Fail(), XrdClHttp::CurlPrefetchOpenOp::Pause(), and XrdClHttp::CurlOpenOp::Success().

+ Here is the caller graph for this function:

◆ Stat()

virtual XrdCl::XRootDStatus XrdClHttp::File::Stat ( bool  force,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Stat

Reimplemented from XrdCl::FilePlugIn.

◆ VectorRead()

virtual XrdCl::XRootDStatus XrdClHttp::File::VectorRead ( const XrdCl::ChunkList chunks,
void *  buffer,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::VectorRead

Reimplemented from XrdCl::FilePlugIn.

◆ Write() [1/2]

virtual XrdCl::XRootDStatus XrdClHttp::File::Write ( uint64_t  offset,
uint32_t  size,
const void *  buffer,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Write

Reimplemented from XrdCl::FilePlugIn.

◆ Write() [2/2]

virtual XrdCl::XRootDStatus XrdClHttp::File::Write ( uint64_t  offset,
XrdCl::Buffer &&  buffer,
XrdCl::ResponseHandler handler,
time_t  timeout 
)
overridevirtual
See also
XrdCl::File::Write

Reimplemented from XrdCl::FilePlugIn.


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