5#ifndef __HTTP_FILE_PLUG_IN_
6#define __HTTP_FILE_PLUG_IN_
17#include <unordered_map>
25#define HTTP_FILE_PLUG_IN_AVOIDRANGE_ENV "XRDCLHTTP_AVOIDRANGE"
27#define HTTP_FILE_PLUG_IN_AVOIDRANGE_CGI "xrdclhttp_avoidrange"
45 uint16_t timeout ) override;
51 uint16_t timeout ) override;
58 uint16_t timeout ) override;
67 uint16_t timeout ) override;
76 uint16_t timeout ) override;
85 uint16_t timeout ) override;
93 std::vector<uint32_t> &cksums,
95 uint16_t timeout ) override;
101 uint16_t timeout ) override;
109 uint16_t timeout ) override;
120 const
std::
string &value ) override;
126 std::
string &value ) const override;
An interface for file plug-ins.
Definition XrdClPlugInInterface.hh:39
Definition XrdClHttpFilePlugIn.hh:33
virtual XRootDStatus PgWrite(uint64_t offset, uint32_t size, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Close(ResponseHandler *handler, uint16_t timeout) override
Davix::Context * davix_context_
Definition XrdClHttpFilePlugIn.hh:130
virtual ~HttpFilePlugIn() noexcept
std::unordered_map< std::string, std::string > properties_
Definition XrdClHttpFilePlugIn.hh:146
virtual XRootDStatus Read(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
virtual bool IsOpen() const override
bool is_open_
Definition XrdClHttpFilePlugIn.hh:141
virtual XRootDStatus Stat(bool force, ResponseHandler *handler, uint16_t timeout) override
virtual bool SetProperty(const std::string &name, const std::string &value) override
Log * logger_
Definition XrdClHttpFilePlugIn.hh:148
virtual XRootDStatus VectorRead(const ChunkList &chunks, void *buffer, XrdCl::ResponseHandler *handler, uint16_t timeout) override
bool avoid_pread_
Definition XrdClHttpFilePlugIn.hh:138
virtual XRootDStatus Sync(ResponseHandler *handler, uint16_t timeout) override
uint64_t filesize
Definition XrdClHttpFilePlugIn.hh:142
virtual XRootDStatus Open(const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
virtual bool GetProperty(const std::string &name, std::string &value) const override
DAVIX_FD * davix_fd_
Definition XrdClHttpFilePlugIn.hh:133
std::mutex offset_locker
Definition XrdClHttpFilePlugIn.hh:135
bool isChannelEncrypted
Definition XrdClHttpFilePlugIn.hh:139
std::string url_
Definition XrdClHttpFilePlugIn.hh:144
uint64_t curr_offset
Definition XrdClHttpFilePlugIn.hh:136
virtual XRootDStatus Write(uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout) override
Davix::DavPosix * davix_client_
Definition XrdClHttpFilePlugIn.hh:131
virtual XRootDStatus PgRead(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
Handle diagnostics.
Definition XrdClLog.hh:101
Handle an async response.
Definition XrdClXRootDResponses.hh:1126
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdClAction.hh:34
std::vector< ChunkInfo > ChunkList
List of chunks.
Definition XrdClXRootDResponses.hh:1055
Definition XrdOucJson.hh:4517
Access mode.
Definition XrdClFileSystem.hh:117
Open flags, may be or'd when appropriate.
Definition XrdClFileSystem.hh:71